大家好,我是奶綠茶
最近朋友問我一個載入 flash 檔的問題
外部載入一個 swf , 並呼叫裡面一個 public 的函式
這麼簡單的問題,馬上就可以決解,
結果卻花了我半小時,一查之下才發現是 TLF Text 產生的
被載入的 swf 主程式碼
但當你的被載入swf有使用新版的 TLF Text時
flash會很好心的幫你多包了一層 Class, 導至就產生了錯誤
用 Flash Decompile 來看一下
使用 TLF Text
使用 Classic Text
目前還想不到解法, 先筆記一下
最近朋友問我一個載入 flash 檔的問題
外部載入一個 swf , 並呼叫裡面一個 public 的函式
這麼簡單的問題,馬上就可以決解,
結果卻花了我半小時,一查之下才發現是 TLF Text 產生的
被載入的 swf 主程式碼
public class LoadedDoc extends MovieClip{
public function LoadedDoc() {
trace("LoadedDoc");
}
public function test():void {
trace( "test");
}
}
載入的主程式碼
var loginLoader:Loader = new Loader();
var url:URLRequest = new URLRequest("alert_as.swf");
loginLoader.load(url);
loginLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loginPageLoadCompleteHandler);
public function loginPageLoadCompleteHandler(e:Event){
var _alertAS:MovieClip = e.currentTarget.loader.content as MovieClip;
_alertAS.test();
}
正常來說,這樣寫可以成功呼叫,但當你的被載入swf有使用新版的 TLF Text時
flash會很好心的幫你多包了一層 Class, 導至就產生了錯誤
用 Flash Decompile 來看一下
使用 TLF Text
使用 Classic Text
目前還想不到解法, 先筆記一下
留言
http://bbs.9ria.com/viewthread.php?tid=86061
附上網址:http://kb2.adobe.com/cps/838/cpsid_83812.html