打印

[AS3] 求助一个removeChild和addChild问题

我一个影片剪辑对应一个来加载外部swf文件,虽然下面代码是低智商了点,嘿嘿,不知道怎么写判断...
现在出现问题了哈,点四个菜单都可以载入不同的SWF了,可是后来才发现被载入的SWF原来只是在主场景里被隐藏,并且是在播放着的,再次点击菜单时,被载入的SWF不能跳到第一帧重新播放动画,而是自己一直在播放,它播放到哪就显示什么画面......

请问怎么让载入的SWF可以当点击时从它的第一帧开始重新播放动画呢?







//菜单1
var m01:Loader = new Loader();
m01.load(new URLRequest("m01.swf"));
m01.x=0;
m01.y=0;
m01_mc.addEventListener(MouseEvent.MOUSE_DOWN, showm01);
function showm01(event:MouseEvent):void {

       mytest.removeChild(mytest.getChildAt(0));
       mytest.addChild(m01);

}

//菜单2
var m02:Loader = new Loader();
m02.load(new URLRequest("m02.swf"));
m02.x=0;
m02.y=0;
m02_mc.addEventListener(MouseEvent.MOUSE_DOWN, showm02);
function showm02(event:MouseEvent):void {

       mytest.removeChild(mytest.getChildAt(0));
    mytest.addChild(m02);

}



//菜单3
var m03:Loader = new Loader();
m03.load(new URLRequest("m03.swf"));
m03.x=0;
m03.y=0;
m03_mc.addEventListener(MouseEvent.MOUSE_DOWN, showm03);
function showm03(event:MouseEvent):void {

       mytest.removeChild(mytest.getChildAt(0));
       mytest.addChild(m03);
}


//菜单4
var m04:Loader = new Loader();
//var m04:MovieClip =new MovieClip();
m04.load(new URLRequest("m04.swf"));
m04.x=0;
m04.y=0;
m04_mc.addEventListener(MouseEvent.MOUSE_DOWN, showm04);
function showm04(event:MouseEvent):void {
       
       mytest.removeChild(mytest.getChildAt(0));
       mytest.addChild(m04);
}
首先确定你加载的是不是avm2的影片
是的啊 ,都是用 3.0做的
顶起来 ,着急啊,希望各位帮绑忙..

TOP

还在为头像烦恼?还在为不能关注好友动态烦忧?快来蓝色理想家园吧!
复制内容到剪贴板
代码:
var loaderArr:Array = [];
for (var i:uint; i<4; i++) {
    var loader:Loader = new Loader();
    loader.load(new URLRequest("m0"+i+".swf"));
    loaderArr.push(loader);
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE,loaded_fun);
}
function loaded_fun(e:Event):void {
    var loader:Loader = e.target.loader as Loader;
    var i:uint = loaderArr.indexOf(loader);
    getChildByName("m0" + i + "_mc").addEventListener(MouseEvent.MOUSE_DOWN, showm);
}
function showm(event:MouseEvent):void {
    var thisName:String = e.target.name;
    var index:uint = uint(thisName.slice(2,3));
    if (mytest.numChildren > 0) {
        mytest.removeChild(mytest.getChildAt(0));
    }
    mytest.addChild(loaderArr[index]);
    MovieClip(loaderArr[index].content).gotoAndPlay(1);
}

TOP

非常感谢Poshidon......已经解决问题,

TOP