Re: [問題] 抓外部AS檔變數問題
※ 引述《fake01 (ya da)》之銘言:
: 請問如何抓取匯入外部AS檔的變數?
: var Tlke:URLRequest = new URLRequest("MOVE_GAME/NewGame.swf");
: var Tlkeloader:Loader = new Loader();
: Tlkeloader.load(Tlke);
: addChild(Tlkeloader);
這問題我剛好最近遇到
而且你要問的應該是怎麼抓取匯入外部 "SWF" 的變數吧?
首先給 Tlkeloader 加個 event
Tlkeloader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded);
private function onLoaded(e:Event):void
{
var childMC:MoiveClip = e.currentTarget.content as MovieClip;
// 這時候childMC就等於載入的.swf了
// 然後要怎麼抓變數,call function都沒問題了!
childMC.roleName; // 抓變數
childMC.run(); // call function
}
--------------
這邊是 NewGame.swf 的內容
看要寫在 .as 或是 frame 都可以
假設寫在 frame
var roleName:String = "jeaby";
function run():void
{
// do something
}
---------------
補充一下你前面文章的問題
假設你要在 NewGame.swf 中的某個按鈕remove自己
//用剛剛上面的 run
function run():void
{
parent.removeChild(this);
// 但是實際跑了之後會跑出錯誤說loader沒有removeChild這個函數
}
所以要修改"this"的型態
回到最上面的 onLoaded
private function onLoaded(e:Event):void
{
var childMC:MoiveClip = e.currentTarget.content as MovieClip;
// .swf 載入完成後再addChild
// addChild(Tlkeloader) 所以這行也不用加了;
addChild(childMC);
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.104.252.179
推
07/21 11:52, , 1F
07/21 11:52, 1F
→
07/21 11:52, , 2F
07/21 11:52, 2F
→
07/21 12:24, , 3F
07/21 12:24, 3F
推
07/21 12:30, , 4F
07/21 12:30, 4F
→
07/21 12:30, , 5F
07/21 12:30, 5F
→
07/21 12:38, , 6F
07/21 12:38, 6F
→
07/21 12:38, , 7F
07/21 12:38, 7F
※ 編輯: jeaby 來自: 59.104.252.179 (07/21 12:39)
推
07/21 13:12, , 8F
07/21 13:12, 8F
→
07/21 13:13, , 9F
07/21 13:13, 9F
→
07/21 13:14, , 10F
07/21 13:14, 10F
推
07/21 13:18, , 11F
07/21 13:18, 11F
推
07/21 13:27, , 12F
07/21 13:27, 12F
→
07/21 13:58, , 13F
07/21 13:58, 13F
討論串 (同標題文章)