【unity 3 d】Invoke遅延方法の使用方法

2097 ワード

前言


Invoke()はunityに組み込まれたメソッドの1つで、リロードされていません.2つのパラメータしかありません.遅延メソッドを意味します.メソッドの1つ目のパラメータは文字列形式のメソッド名で、2つ目のパラメータは秒単位の遅延時間です.
public extern void Invoke (string methodName, float time);

Invokeメソッドのテスト


3秒後にfunメソッドを呼び出すことを示します
public class InvokeTest : MonoBehaviour {

    void Start(){
        Invoke ("fun", 3);
    }
    private void fun(){
        Debug.Log ("invokeTest");
    }

}

拡張

  • InvokeRepeating()メソッドは、2秒後に呼び出すことを示し、その後、4秒ごとに
  • を再実行する.
    public class InvokeTest : MonoBehaviour {
    
        void Start(){
            InvokeRepeating ("fun", 2, 4);
        }
        private void fun(){
            Debug.Log ("invokeTest");
        }
    
    }

    注意cancel Invokeの1つ目は小文字のLで、2つ目は大文字のiです
  • CancelInvoke()メソッド現在のスクリプト内のすべてのInvoke()
  • を停止
  • CancelInvoke(「funxxx」)現在のスクリプトのメソッド
  • を停止します.
  • IsInvoking(); Invokeが実行するか否かを判断する
  • に注意

  • Invokeはパラメータ
  • を伝達できない.
  • スクリプトサイクル関数で
  • を呼び出す必要があります.
  • はTimeを受けます.timeScaleの影響
  • 適用

  • Update関数で頻繁にメソッドを呼び出したくない場合は、
  • の代わりにInvokeRepeating()メソッドを使用できます.
  • ゲームにブラシが必要なときにInvokeという方法
  • を使うことができます.