4


我正在使用 BulkLoader 将 MovieClips 和 Bitmaps 加载到我的 AS3 应用程序中。位图很容易克隆,但我对复杂的 MovieClips 有一些问题,它有很多子项、按钮、符号等。
我找到了很多方法将 MovieClips 克隆为位图,但是有没有办法将它克隆为 MovieClip,使用它的所有属性?

4

2 回答 2

10

有两种方法:

您可以复制 Loader :

var newLoader:Loader = new Loader();
newLoader.loadBytes(oldLoader.contentLoaderInfo.bytes);

或者您可以获取 MovieClip 类并创建它的新实例。但为此,您必须使用某些文档类编译外部 SWF(您不必创建 .as 文件,只需在此处键入该 SWF 的一些命名空间)

var movieType:Class = myMovieClip.constructor;
var copyMovie:MovieClip = new movieType();
于 2012-02-07T09:02:37.307 回答
2

http://www.dannyburbol.com/2009/01/movieclip-clone-flash-as3/
http://www.smithmediafusion.com/blog/?p=446

或者

btn1_btn.addEventListener(MouseEvent.CLICK, btnClicked);

function btnClicked(e:MouseEvent):void{
    var btn:MovieClip = MovieClip(e.target);
    //duplicate the movielcip (add a new one to the stage)
    var ClassDefinition:Class = Class(getDefinitionByName(getQualifiedClassName(btn)));
    var myMC:MovieClip = new ClassDefinition;
    //add it to the container
    myMC.x = randInt(0,260);
    myMC.y = 0;
    gravity_mc.addChild(myMC);
}

function randInt(min:int, max:int):int{
    return Math.round(Math.random() * (max - min) + min);
}
于 2012-02-07T11:15:59.157 回答