将对象移到Update()函数之外而不传送

时间:2016-12-02 18:15:27

标签: c# unity3d

我的这个功能的目标是能够通过发送消息来调用它(点击图块,图块向对象发送消息,对象移动到该图块的位置)。我正在创建在发送消息时将被调用的函数。它的内部运作看似简单。我正在使用:

Vector3 start = gameObject.transform.position;
    Vector3 finish = new Vector3(100, 1, 10);

        gameObject.transform.position = Vector3.MoveTowards(start, finish, .1F);   

我使用硬编码值进行测试。如果我从我的函数中删除它并将其弹出到Update()函数中,它可以完美地工作。但是当我试图调用函数时:

void MoveToLocation()
{
    Vector3 start = gameObject.transform.position;
    Vector3 finish = new Vector3(100, 1, 10);
    for(int i = 0; i<10000; i++)
    {
        gameObject.transform.position = Vector3.MoveTowards(start, finish, .1F);   
    }

}

(测试的任意步长值)在for循环中使用它,对象不移动。我缺少哪种逻辑?

提前致谢!

0 个答案:

没有答案