作者toyhsu (至尊侠盗小短裤)
看板Flash
标题[问题] loader外部SWF的问题
时间Wed Jun 20 17:02:14 2012
如题
在主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
1F:→ KawasumiMai:loader1_2.addEventListener(Event.COMPLETE,func) 06/20 19:05
2F:→ KawasumiMai:加入完成之後的监听事件,然後才让他play() 06/20 19:06
3F:→ KawasumiMai:target1.swf一开始可以弄个stop() 06/20 19:06
4F:→ KawasumiMai:只靠按钮就显示载入成功并不严谨 06/20 19:06
5F:→ KawasumiMai:然後记得先addEventListener再load 06/20 19:06
6F:→ toyhsu:请问 不是一load完就会自动播放 如果我在target1放stop 06/21 11:07
7F:→ toyhsu:要如何指定target1从影格2开始播 06/21 11:08
8F:推 KawasumiMai:推测既然没载完会直接播放,表示在跑play()事件之前 06/21 17:05
9F:→ KawasumiMai:应该会先执行里面的stop(),然後对stop中的影格执行 06/21 17:05
10F:→ KawasumiMai:play(),其实他是会继续跑的 06/21 17:06
11F:→ KawasumiMai:不然其实你loader1_2.gotoAndPlay(2)也可以 06/21 17:06
12F:→ KawasumiMai:当load完毕之後,loader1_2本身就等於swf了 06/21 17:06
13F:→ toyhsu:现在发现 不是没载完的问题 是会跑到主影格结束的地方就当 06/21 17:16
14F:→ toyhsu:掉 比如说我主影格在1800放AS 载入B.SWF B.SWF跑到1800就会 06/21 17:17
15F:→ toyhsu:出#1009的错 不知道为什麽会这样 @@" 06/21 17:18
现在程式码改成下面
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)
16F:推 KawasumiMai:_mc.addChild(loader),表示swf在_mc里面 06/26 13:00
17F:→ KawasumiMai:这时候你要play的应该是_mc的child(0)而不是_mc本身 06/26 13:00
18F:→ KawasumiMai:tmp那行可以用,改成e.content as MC或Object 06/26 13:01