方法一
private IEnumerator MoveTo(Transform tr, Vector3 pos, float time){float t = 0;while(true){t += Time.deltaTime;float a = t/ time;tr.position = Vector3.Lerp(tr.position, pos, a);if (a >= 1.0f)break;yield return null;}}
方法二
private IEnumerator MoveTo(Transform tr, Vector3 pos, float time){float t = 0;Vector3 startPos = tr.position;while(true){t += Time.deltaTime;float a = t/ time;tr.position = Vector3.Lerp(startPos, pos, a);if (a >= 1.0f)break;yield return null;}}