Unity 中实现中断实现:
此处代码每一次执行的时候都只会等待一帧的执行时间。
while(true){
//执行代码1
yield;//等待一帧
//执行代码2
}
接下来可以让代码等待的时间由我们来定义:
while(true){
//执行代码1
yield WaitForSeconds(10.0);//等待10秒后执行代码2
//执行代码2
}
Unity 中断与协同程序的实现如下:
yield StartCoroutine("Method");//连接协同程序
Debug.log("提示信息1");
function Method(){
Debug.log("提示信息2");
yield WaitForSeconds(10);//程序中断执行10秒
Debug.log("提示信息3");
}
在任何时间处理程序都是协同程序,但是不能Update()和FixUpdate()方法中使用协同程序,否则报错。
Unity关卡加载
function Start () {
yield WaitForSeconds(10.0);//程序中断10秒后,在执行
Application.LoadLevel("MainMenu");//执行加载MainMenu关卡
Destroy(this);//销毁当前关卡对象
}
运行结果如下图