Version: 2017.3

Vector3.MoveTowards

切换到手册
public static Vector3 MoveTowards (Vector3 current, Vector3 target, float maxDistanceDelta);

描述

将点 current 沿直线向 target 点移动。

该函数返回的值是 currenttarget 之间的线上 距离 targetmaxDistanceDelta 个单位的点。如果目标比 maxDistanceDelta 近, 则返回值将等于目标(即,移动不会超过目标)。 可以为 maxDistanceDelta 使用负值,以将点推离目标。

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { public Transform target; public float speed; void Update() { float step = speed * Time.deltaTime; transform.position = Vector3.MoveTowards(transform.position, target.position, step); } }