【发布时间】:2020-11-02 16:32:52
【问题描述】:
我正在制作一款游戏,我希望叠加层在消失之前出现指定的秒数。我正在使用协程来执行此操作,但它现在正在工作。有没有办法解决这个问题,或者我应该用另一种方式来解决。我没有收到任何错误,但 coverObject 不显示 3 秒并隐藏 2 秒,如代码中指定的那样。
代码:
void playRound()
{
coverObject.gameObject.SetActive(true);
for (int i = 0; i < keys - 1; i++)
{
GameObject instantiated = Instantiate(key);
}
waitSecs(3);
coverObject.gameObject.SetActive(true);
GameObject instantiatedCorrect = Instantiate(key);
correctKey = instantiatedCorrect;
waitSecs(2);
coverObject.gameObject.SetActive(false);
}
void waitSecs(int seconds)
{
StartCoroutine(WaitSecsCoroutine(seconds));
}
IEnumerator WaitSecsCoroutine(int seconds)
{
yield return new WaitForSeconds(seconds);
}
【问题讨论】:
-
请解释“不工作”,您是否遇到任何错误? 究竟是什么不起作用?
标签: unity3d game-engine coroutine