如何由被讀取的swf (loadee)呼叫讀取者(loader)的function

想呼叫到loader的function,關鍵就是要能夠從被讀取者access到讀取者。範例如下:

loader.swf中:
trace("loader started.");

var loader:Loader = new Loader();
addChild(loader);
loader.load(new URLRequest("loadee.swf"));

function loaderMethod():void {
 trace('hello!');
}

// pose loader
loader.x = stage.stageWidth/2;
loader.y = stage.stageHeight/2;

loadee.swf中:
trace("loadee started.");

// 呼叫最parent物件的方法
MovieClip(stage.getChildAt(0)).poppaMethod();
// 呼叫loader所在的物件的方法
(loaderInfo.loader.parent as MovieClip).poppaMethod();


如果被讀取者想確認是否被讀取,確認讀取以後才去呼叫loader的方法,可以在loadee.swf加上:
this.addEventListener(Event.ADDED_TO_STAGE, callLoaderMethod);

function callLoaderMethod(event:Event):void {
(loaderInfo.loader.parent as MovieClip). loaderMethod();
}

留言

這個網誌中的熱門文章

3dmax的biped如何使用CMU的免費motion capture資源

如何把3dmax的physique轉成skin

Flex 3 Tree 元件的資料更新Bug