有关删除子项的一些问题是动态添加的

时间:2012-05-11 00:19:52

标签: actionscript-3 flash

我有这个功能,我想获得一个影片剪辑(功能目标)并将其更改为另一个。问题是它显然会在加载新影片之前删除它。

var changePeca:Loader = new Loader;
var changeLoad:URLRequest = new URLRequest(e.target.name.substr(0,4)+".png");
changePeca.load(changeLoad);

e.target.removeChildAt(0);
e.target.addChild(changePeca);

我知道我必须使用Event.COMPLETE这个东西,但是我怎么说要删除哪个影片剪辑,因为我不能再使用e.target了?

1 个答案:

答案 0 :(得分:1)

  

“问题是它显然会删除新的影片剪辑   一个人装满了。“

因为您的代码说这样做! :)你需要添加事件监听器来检查是否加载了东西。

private var holderMC:Sprite;
private var imageLoader:Loader;

private  function load(e:Event):void
{
    holderMC = e.target as Sprite // or something else you have there, just store it.
    imageLoader = new Loader ();
    imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, handleLoadComplete)
    imageLoader.load(new URLRequest(e.target.name.substr(0, 4) + ".png"));
}

private function handleLoadComplete(e:Event):void 
{
    if(holderMC.numChildren > 0)
        holderMC.removeChildAt(0);

    holderMC.addChild(imageLoader.content)
}