我有这个功能,我想获得一个影片剪辑(功能目标)并将其更改为另一个。问题是它显然会在加载新影片之前删除它。
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
了?
答案 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)
}