Unity LWF内のインスタンスを取得する

提供: LWF Wiki
2014年9月30日 (火) 21:32時点におけるTamago (トーク | 投稿記録)による版

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索

ツリー構築が終わってから取得する

Load()を行った直後はまだLWFアニメーションのツリー構築が終わっていないため
インスタンスの取得をすることができません。

rootにcharaというインスタンス名のムービークリップが置いてあると仮定します。
下記のように書くと取れるのですがLoad直後ではNullが返ってきます。

//Nullが帰ってくる
Debug.Log(lwf.rootMovie["chara"]);


なのでLoad完了のCallbackを待った後、構築完了時に発行されるpostLoadイベントを受け取ってから参照するようにします。
Start()に下記のコードを追加します。

AddLoadCallback (delegate(LWFObject obj) {
    lwf.rootMovie.AddEventHandler("postLoad", delegate(LWF.Movie movie) {
        Debug.Log (lwf.rootMovie["chara"]);
    });
});

こうすることでcharaインスタンスを参照して制御することができるようになります。

Loadの引数にもlwfLoadCallbackというものがあるのでこちらを利用しても構いません。