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);//销毁当前关卡对象
}
运行结果如下图