1 //异步函数 : 在一个方法执行时调用另一个方法. 2 //而被调用的方法或者其中的某些语句不是立刻执行,而是过一段时间后才执行。 3 //MonoBehaviour 提供了两种异步方法: 4 //调用 (Invoke) 5 //协程 ( Coroutine) 6 7 //延迟调用 Invoke 8 ///1. Invoke 在脚本的生命周期中被调用 9 ///2. Invoke 不能接受有参数的方法 10 ///3. Invoke受 ScaleTime 影响,所以ScaleTi 变慢,Invoke也会对应变慢,而在Time.ScaleTime = 0时候Invoke无效 11 ///4. Invoke 指定的方法可以多次被调用,之间不受影响 12 ///5.Invoke InvokeRepeating是用CancellInvoke 停止。 13 ///6.无论active 是true 或 false,无法停止Invoke,除非invoke所在的脚本所依附的游戏物体被销毁 14 15 // 16 Invoke("Test", 2f); 17 18 //每2s 后掉 Test方法, 重复3次 19 InvokeRepeating("Test", 2f, 3); 20 //是否Invoke 持有 Test 方法的调用 21 if (IsInvoking("Test")) 22 { 23 Debug.Log("Test方法等待调用"); 24 }
1 //停止持有的Test的Invoke 2 CancelInvoke("Test"); 3 4 CancelInvoke(); //停止所有的Invoke