【发布时间】:2017-03-02 13:44:59
【问题描述】:
我正在制作第一人称射击游戏。
我想让我的枪重新装弹,播放动画,4 秒后会显示子弹数量。但有时它会,有时它不会等待并立即显示子弹而不播放动画。
IEnumerator waitForReload()
{
if (reloadNow==true && !gun.GetComponent<Animation>().IsPlaying("Reload"))
{
animator.SetInteger ("Anumber", reload);
yield return new WaitForSeconds (4.0f);
reloadNow = false;
displayBullets ();
}
}
【问题讨论】:
-
“'yield return new WaitForSeconds(4.0f)' 必须收费吗?”是什么意思?
-
我的意思是 waitforseconds 需要经过 4 才能让他再次工作。
-
WaitForSeconds 放置在哪里,它会在哪里暂停设置秒数?这意味着它会在函数调用时立即点击 animator.SetInteger,然后等待 4 秒,然后将 reloadNow 设置为 false 并调用 displayBullets 函数。
-
你在哪里调用这个waitforReload?
标签: c# unity3d ienumerator