Unity3d在一定时间内将物体移动到指定位置

方法一 

    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;
        }
        
    }

 

你可能感兴趣的:(Unity,Unity,MoveTo,移动,时间内)