0

我无法访问复制的加载程序的影片剪辑和子影片剪辑。我正在加载类似的 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);

现在实际加载的 swf 里面有一个叫做“star”的movieClip,我该如何使用它???请帮忙.... :(

4

1 回答 1

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

你也不需要复制ldrwith loadBytes。您可以使用在加载完成后ldr制作许多实例...myswf.swf

于 2013-04-02T19:25:17.560 回答