【发布时间】:2015-08-03 21:11:16
【问题描述】:
当我完成关卡时,它必须显示“Level Completed!”文本并等待 5 秒然后开始下一个关卡。
private void showSuccess() {
levelCompleted.SetActive (true);
StartCoroutine("waitForNextLevel");
}
IEnumerator waitForNextLevel() {
Debug.Log ("Start time: " + Time.time);
yield return new WaitForSeconds (5);
Debug.Log ("End time: " + Time.time);
prepareTheLevel ();
}
但是文字出现成功,游戏等待5秒,文字消失。然后再等待 5 秒,开始下一关。
我希望它只等待 5 秒而不隐藏文本。
有什么想法吗?
【问题讨论】:
-
您在控制台中究竟看到了什么(右键单击控制台选项卡 ->
Open Editor Log将为您提供文本输出)?您能否也发布Debug.Log(Time.timeScale);的结果(例如在waitForNextLevel()中进行)?方法prepareTheLevel()包含什么? -
prepareTheLevel() 确实隐藏了文本“级别已完成!”并从头开始水平。我看到 Unity 在 5 秒内一遍又一遍地执行第一个 Debug.Log,然后在另外 5 秒内一遍又一遍地执行第二个 Debug.Log。