Клон ролика в ActionScript3 - PullRequest
       11

Клон ролика в ActionScript3

4 голосов
/ 07 февраля 2012

Я использую BulkLoader для загрузки MovieClips и растровых изображений в мое приложение AS3.Растровые изображения легко клонировать, но у меня есть некоторые проблемы со сложными мувиклипами, в которых много дочерних элементов, кнопок, символов и т. Д.Я нашел много способов клонировать MovieClip как растровые изображения, но есть ли способ клонировать его как MovieClip со всеми его атрибутами?

Ответы [ 2 ]

10 голосов
/ 07 февраля 2012

есть 2 способа:

Вы можете скопировать 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();
2 голосов
/ 07 февраля 2012

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

OR

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);
}
...