大家好,我是奶綠茶
最近朋友問我一個載入 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