这是我的unityScript代码,它有一个简单的协程循环。此代码与编辑器测试非常有效,但在手机和实时测试中,如果您想要进入主菜单并再次返回以进行倒计时,计数器会冻结。 换句话说,你从1级=> 2开始(每件事情都运行得很好)之后2 => 1当你再次进入2级倒计时会冻结第一个数字!!
function Start () {
StartCoroutine("DoSomething");
}
-
function DoSomething () {
for (var i = 5; i >= 0; --i) {
print("Future : \n" + i);
yield WaitForSeconds(1);
print("counting : \n " + i);
}
}
为什么这段代码应该在第一时间工作并在第二次冻结?
答案 0 :(得分:0)
你需要最终从你的收益中返回控制权,试试这个:
function DoSomething () {
for (var i = 5; i >= 0; --i) {
print("Future : \n" + i);
yield WaitForSeconds(1);
print("counting : \n " + i);
}
yield return null;
}