【发布时间】:2016-08-10 00:34:15
【问题描述】:
我遇到了一个统一问题,我的对象将进行翻译,然后什么都没有,我希望发生一系列翻译和旋转,但它只在代码中进行第一次翻译并且不会停止,我尝试使用单独的函数来执行翻译而不是更新函数,但这也不起作用,请帮助。
void Update ()
{
if (enemyHit == false)
{
//enemy moving
transform.LookAt(TTarget);
}
else if (enemyHit == true)
{
Debug.Log (enemyHit);
Evade();
}
}
IEnumerator Wait(float duration)
{
yield return new WaitForSeconds(duration);
}
void Evade()
{
transform.Translate(Vector3.back * Time.deltaTime * movementSpeed);
Wait(2);
transform.Rotate(0,90,0);
}
【问题讨论】:
-
根据
enemyHit的值,您可能每帧调用一次transform.LookAt,这往往会覆盖您尝试执行的任何其他旋转。 -
看看你的新问题,看来我的回答解决了你的问题。你可以继续接受我的回答。
标签: c# object unity3d rotation translate