UnityEngine.Vector2.MoveTowards C# (CSharp) Method

MoveTowards() public static method

public static MoveTowards ( Vector2 current, Vector2 target, float maxDistanceDelta ) : Vector2
current Vector2
target Vector2
maxDistanceDelta float
return Vector2
		public static Vector2 MoveTowards(Vector2 current, Vector2 target, float maxDistanceDelta)
		{
			var vector2 = target - current;
			var magnitude = vector2.magnitude;
			if (magnitude <= (double)maxDistanceDelta || magnitude == 0.0)
				return target;
			return current + vector2 / magnitude * maxDistanceDelta;
		}

Usage Example

Esempio n. 1
0
        private IEnumerator SmoothMovement(Vector2?end)
        {
            _isMoving = true;

            float remainingDistance = (Rb.position - end.Value).sqrMagnitude;

            Sprite.flipX = false;

            if (_movement.x < 0)
            {
                Sprite.flipX = true;
            }

            while (remainingDistance > float.Epsilon)
            {
                Vector2 newPosition = Vector2.MoveTowards(Rb.position, end.Value, _moveSpeed * Time.fixedDeltaTime);
                Rb.position = newPosition;


                remainingDistance = (Rb.position - end).Value.sqrMagnitude;
                yield return(null);
            }

            ToggleFog(Vector3Int.FloorToInt(_movement));
            _isMoving = false;
        }
All Usage Examples Of UnityEngine.Vector2::MoveTowards