static function MoveTowardsAngle(current:
float,
target: float,
maxDelta: float):
float;

static float MoveTowardsAngle(float current,
float target,
float maxDelta);

static
def MoveTowardsAngle(current as float,
target as float,
maxDelta as float)
as float

Same as MoveTowards but makes sure the values interpolate correctly when they wrap around 360 degrees.

Variables `current`

and `target`

are assumed to be in degrees.
For optimization reasons, negative values of `maxDelta`

are not supported and may cause oscillation. To push `current`

away from a target angle, add 180 to that angle instead.

var target = 270.0; var speed = 45.0; function Update () { var angle : float = Mathf.MoveTowardsAngle (transform.eulerAngles.y, target, speed * Time.deltaTime); transform.eulerAngles = Vector3(0, angle, 0); }

using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { public float target = 270.0F; public float speed = 45.0F; void Update() { float angle = Mathf.MoveTowardsAngle(transform.eulerAngles.y, target, speed * Time.deltaTime); transform.eulerAngles = new Vector3(0, angle, 0); } }

import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): public target as float = 270.0F public speed as float = 45.0F def Update() as void: angle as float = Mathf.MoveTowardsAngle(transform.eulerAngles.y, target, (speed * Time.deltaTime)) transform.eulerAngles = Vector3(0, angle, 0)