Invoke() 方法是 Unity3D 的一種委托機制
如: Invoke("Test", 5); 它的意思是:5 秒之后調用 Test() 方法;
使用 Invoke() 方法需要注意 3點:
1 :它應該在 腳本的生命周期里的(Start、Update、OnGUI、FixedUpdate、LateUpdate)中被調用;
2:Invoke(); 不能接受含有參數的方法;
3:在 Time.ScaleTime = 0; 時, Invoke() 無效,因為它不會被調用到
Invoke() 也支持重復調用:InvokeRepeating("Test", 2 , 3);
這個方法的意思是指:2 秒后調用 Test() 方法,並且之后每隔 3 秒調用一次 Test() 方法
還有兩個重要的方法:
- IsInvoking:用來判斷某方法是否被延時,即將執行
- CancelInvoke:取消該腳本上的所有延時方法
