AS 3可視オブジェクトのコピー
舞台のカットを複製する
反射方法:コピーするステージオブジェクト、ライブラリコンポーネントはクラスをバインドする必要があります.そうしないと、MovieClipが返されます.コピーしたオブジェクトは空のMovieClipです.
var ClassRef:Class = getDefinitionByName(getQualifiedClassName(t_mc)) as Class;
var clone_mc:DisplayObject = new ClassRef();
addChild(clone_mc);
Loaderがロードしたswfをコピー
ByteArray深度コピー
var byteLoader:URLLoader = new URLLoader();
byteLoader.dataFormat = URLLoaderDataFormat.BINARY;
byteLoader.addEventListener(Event.COMPLETE, loadCompleteHandler);
var loader:Loader = new Loader();
loader.y = 200;
addChild(loader);
loader.contentLoaderInfo.addEventListener(Event.INIT, loadInitHandler);
function loadInitHandler(evt:Event):void {
var cloneLoder:Loader = new Loader();
addChild(cloneLoder);
cloneLoder.loadBytes(byteLoader.data);
}
byteLoader.load(new URLRequest("t.swf"));
function loadCompleteHandler(evt:Event):void {
loader.loadBytes(byteLoader.data);
}
簡単な原理:URLLoaderで外部のswfをバイナリデータ形式でByteArrayにロードし、LoaderクラスのloadBytesでURLLoaderのByteArrayをロードします.