Re: [問題] 抓外部AS檔變數問題

看板Flash作者 (潔比)時間13年前 (2011/07/20 17:16), 編輯推噓5(508)
留言13則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《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
請問沒給路徑怎麼載入swf 第一段的程式碼內的function
07/21 11:52, 1F

07/21 11:52, , 2F
不會執行耶
07/21 11:52, 2F

07/21 12:24, , 3F

07/21 12:30, , 4F
了解,如果我要抓child的as檔
07/21 12:30, 4F

07/21 12:30, , 5F
變數? 該如何做
07/21 12:30, 5F

07/21 12:38, , 6F
一樣在child.as給個變數 public var abc:string = "abc";
07/21 12:38, 6F

07/21 12:38, , 7F
main.as裡在去抓 childmc.abc 就可以了
07/21 12:38, 7F
※ 編輯: jeaby 來自: 59.104.252.179 (07/21 12:39)

07/21 13:12, , 8F
我新增child.as 可以點擊按鈕刪除自己
07/21 13:12, 8F

07/21 13:13, , 9F
但在main.fla執行會出錯
07/21 13:13, 9F

07/21 13:14, , 10F
TypeError: Error #2007: 參數 child 不能是 Null。
07/21 13:14, 10F

07/21 13:18, , 11F
trace(childmc); 等於 NULL
07/21 13:18, 11F

07/21 13:27, , 12F
已經了解 謝謝高手J 加入this.addchild(...);
07/21 13:27, 12F

07/21 13:58, , 13F
不對,後來發現還是錯 會出現 Child 不能是null
07/21 13:58, 13F
文章代碼(AID): #1E9fppff (Flash)
文章代碼(AID): #1E9fppff (Flash)