我无法访问动画片段和复制的加载器的子动画片段。 我正在装一个swf,比如
var ldr:Loader = new Loader();
var urlReq:URLRequest = new URLRequest("myswf.swf");
ldr.load(urlReq);
并使用它在舞台上显示,
stage.addChild(ldr);
(ldr.content as MovieClip).star.gotoAndStop(2);
我需要一份这样的副本,所以我使用代码
复制了它var newLoader:Loader = new Loader();
newLoader.loadBytes(ldr.contentLoaderInfo.bytes);
并将其用作,
var myObj:DisplayObject = newLoader;
tempMC.addChild(myObj);
现在有一个名为'star'的movieClip在实际加载的swf中如何使用它? 请帮助...... :(
答案 0 :(得分:0)
import flash.display.MovieClip;
import flash.display.DisplayObject;
var ldr:Loader = new Loader();
var urlReq:URLRequest = new URLRequest("myswf.swf");
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, loaderComplereHandler);
ldr.load(urlReq);
function loaderComplereHandler(event:Event) :void {
event.target.removeEventListener(Event.COMPLETE, loaderComplereHandler);
var mc:MovieClip = event.target.content as MovieClip;
addChild(mc);
mc.getChildByName("star").rotation=50;
var newLoader:Loader = new Loader();
newLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaderCopyComplereHandler);
newLoader.loadBytes(ldr.contentLoaderInfo.bytes);
}
function loaderCopyComplereHandler(event:Event) :void {
event.target.removeEventListener(Event.COMPLETE, loaderCopyComplereHandler);
var mc2:MovieClip = event.target.content as MovieClip;
mc2.x = 100;
addChild(mc2);
mc2.getChildByName("star").rotation=90;
}
此外,您无需使用ldr
复制loadBytes
。加载完成后,您可以使用ldr
制作myswf.swf
的多个实例...