不能在哪里统一等待

时间:2019-02-05 14:24:06

标签: unity3d wait

我正在尝试为玩家制作射击脚本,并在每次弹药小于1时重新加载,我需要等待,直到它再次让玩家射击,但我不知道该怎么做。我尝试使每次弹药小于1时变量reload = 1,然后在一定的秒数后将重载更改回0。我知道怎么做,所以如果重载等于1,就无法射击,但是我不知道如何增加等待时间。

https://paste.ubuntu.com/p/qjNyXxTrj8/

2 个答案:

答案 0 :(得分:1)

如果您使用协同程序重新编写代码,则可能是最好的

'str' | 'lon'

此外,也不需要timer + = Time.deltaTime-此值始终作为Time.time可用

答案 1 :(得分:0)

在重新加载方法中,您可以启动一个协程,该协程等待几秒钟,然后将reload变量恢复为原始值。

private IEnumerator WaitForFewSeconds()
{
  yield return new WaitForSeconds(2);
  reload = 0;
}

void Reload()
{
  // do your thing
  StartCoroutine(WaitForFewSeconds());
}