我正在进行一次文本冒险,并希望在继续使用该程序之前显示一些文本几秒钟。我找到了等待等等的东西,但似乎无法在我的代码中实现它们。
这是我的代码:
void state_pad_1 (){
text.text = "You put the " + weight + "kg on pad 1.\n\n ";
if (weight ==weight1){
myState = States.room_2;}
else {
myState = States.room_1;
}
}
因此延迟应该在text和if语句之间。
答案 0 :(得分:0)
使用Coroutines可轻松完成所需操作 例如,您应该将您的方法转换为以下内容:
IEnumerator state_pad_1 ()
{
text.text = "You put the " + weight + "kg on pad 1.\n\n ";
//enter number of seconds you want instead of 5
yield return new WaitForSeconds(5);
if (weight ==weight1){
myState = States.room_2;}
else {
myState = States.room_1;
}
}
但请记住,以不同的方式调用协同程序,例如:
StartCoroutine("WaitAndPrint");
如果您尝试使用System.Threading.Thread.Sleep(1000)
,它会有点freeze your app,因此协同程序是更好的解决方案。