方法一
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;
}
}