[問題] loader外部SWF的問題 急 求救

看板Flash作者 (至尊俠盜小短褲)時間13年前 (2012/06/20 17:02), 編輯推噓2(2016)
留言18則, 2人參與, 最新討論串1/1
如題 在主fla中 有設定5個mc做為選單 子選單做為按鈕 不同按鈕會放不同swf 所以我將loader那段的程式寫在選單mc中 問題來了 外部swf有載入成功 但swf播到一半就停住了 我自己猜想是load不完全的問題 想請問一下 要再增加什麼 才可以先讓swf載完再播放? 程式碼片段如下 btn1_2.addEventListener(MouseEvent.CLICK,menu1_2); function menu1_2(me:MouseEvent) { var loader1_2:Loader = new Loader(); loader1_2.load(new URLRequest("target1.swf")); addChild(loader1_2); loader1_2.x=-123; loader1_2.y=-64; trace("載入成功"); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.20.60.72

06/20 19:05, , 1F
loader1_2.addEventListener(Event.COMPLETE,func)
06/20 19:05, 1F

06/20 19:06, , 2F
加入完成之後的監聽事件,然後才讓他play()
06/20 19:06, 2F

06/20 19:06, , 3F
target1.swf一開始可以弄個stop()
06/20 19:06, 3F

06/20 19:06, , 4F
只靠按鈕就顯示載入成功並不嚴謹
06/20 19:06, 4F

06/20 19:06, , 5F
然後記得先addEventListener再load
06/20 19:06, 5F

06/21 11:07, , 6F
請問 不是一load完就會自動播放 如果我在target1放stop
06/21 11:07, 6F

06/21 11:08, , 7F
要如何指定target1從影格2開始播
06/21 11:08, 7F

06/21 17:05, , 8F
推測既然沒載完會直接播放,表示在跑play()事件之前
06/21 17:05, 8F

06/21 17:05, , 9F
應該會先執行裡面的stop(),然後對stop中的影格執行
06/21 17:05, 9F

06/21 17:06, , 10F
play(),其實他是會繼續跑的
06/21 17:06, 10F

06/21 17:06, , 11F
不然其實你loader1_2.gotoAndPlay(2)也可以
06/21 17:06, 11F

06/21 17:06, , 12F
當load完畢之後,loader1_2本身就等於swf了
06/21 17:06, 12F

06/21 17:16, , 13F
現在發現 不是沒載完的問題 是會跑到主影格結束的地方就當
06/21 17:16, 13F

06/21 17:17, , 14F
掉 比如說我主影格在1800放AS 載入B.SWF B.SWF跑到1800就會
06/21 17:17, 14F

06/21 17:18, , 15F
出#1009的錯 不知道為什麼會這樣 @@"
06/21 17:18, 15F
現在程式碼改成下面 import flash.display.MovieClip; stop(); var tmp1:Boolean = new Boolean(false); var tmp:MovieClip = new MovieClip(); var loader:Loader = new Loader(); menu1.btn1_1.addEventListener(MouseEvent.CLICK, menu1_1); function menu1_1(event:MouseEvent):void { loader.unloadAndStop(); loader.load(new URLRequest("2-3-頭燈.swf")); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaderComplete); } menu1.btn1_2.addEventListener(MouseEvent.CLICK,menu1_2); function menu1_2(event:MouseEvent):void { loader.unloadAndStop(); loader.load(new URLRequest("2-3-後號牌燈.swf")); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaderComplete); } menu2.btn2_1.addEventListener(MouseEvent.CLICK, menu2_1); function menu2_1(event:MouseEvent):void { loader.unloadAndStop(); loader.load(new URLRequest("2-3-煞車燈.swf")); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaderComplete); } menu2.btn2_2.addEventListener(MouseEvent.CLICK,menu2_2); function menu2_2(event:MouseEvent) { loader.unloadAndStop(); loader.load(new URLRequest("2-3-第三煞車燈.swf")); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaderComplete); } menu2.btn2_3.addEventListener(MouseEvent.CLICK, menu2_3); function menu2_3(event:MouseEvent):void { loader.unloadAndStop(); loader.load(new URLRequest("2-3-方向燈.swf")); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaderComplete); } menu2.btn2_4.addEventListener(MouseEvent.CLICK,menu2_4); function menu2_4(event:MouseEvent) { loader.unloadAndStop(); loader.load(new URLRequest("2-3-倒車燈.swf")); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaderComplete); } menu2.btn2_5.addEventListener(MouseEvent.CLICK, menu2_5); function menu2_5(event:MouseEvent):void { loader.unloadAndStop(); loader.load(new URLRequest("2-3-危險警告燈.swf")); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaderComplete); } function onLoaderComplete(e:Event):void { if (tmp1==true) { removeChild(loader); } _mc.addChild(loader); loader.x=0; loader.y=-75; //tmp=loader.content as MovieClip; //tmp.play(); _mc.play(); trace("載入成功"); tmp1=true; } 這是放在主影格最後一格(1820) 不過只要載入的SWF跑到1820 就會出#1009的錯 不知道要如何解決...苦惱中 ※ 編輯: toyhsu 來自: 111.250.3.237 (06/26 10:56)

06/26 13:00, , 16F
_mc.addChild(loader),表示swf在_mc裡面
06/26 13:00, 16F

06/26 13:00, , 17F
這時候你要play的應該是_mc的child(0)而不是_mc本身
06/26 13:00, 17F

06/26 13:01, , 18F
tmp那行可以用,改成e.content as MC或Object
06/26 13:01, 18F
文章代碼(AID): #1FuP6P2p (Flash)
文章代碼(AID): #1FuP6P2p (Flash)