FC2ブログ
    06 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.» 08

    ハルシオンシステムの気ままBlog

    株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

     

    【ハルシオンブログ】Awakeより先にメソッドを呼び出したいとき 

    お疲れさまです。
    大坂です。

    Awakeより先にメソッド呼べたらなーと思ったことは・・・たまにあるでしょうか?
    そんなときは「RuntimeInitializeOnLoadMethod」アトリビュートを使用しましょう。
    そのまま使うとAwakeよりあとになってしまうので引数に「RuntimeInitializeLoadType.BeforeSceneLoad」をつけます。

    では一応コードです。

    void Awake() {
    Debug.Log("Awake");
    }

    void Start() {
    Debug.Log("Start");
    }

    [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
    static void Test_1() {
    Debug.Log("RuntimeInitializeLoadType.BeforeSceneLoad");
    }

    [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)]
    static void Test_2() {
    Debug.Log("RuntimeInitializeLoadType.AfterSceneLoad");
    }

    結果。


    ちゃんとAwake前に呼ばれていますね!
    おまけで、引数「RuntimeInitializeLoadType.AfterSceneLoad」も書いてみてます。
    こちらはAwakeよりあとになっていますね。

    ということで、Awake前に処理を呼び出す方法の紹介でした。
    ではまたノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0