0

ムービー クリップ (関数のターゲット) を取得し、それを別のクリップに変更する関数があります。問題は、新しいクリップがロードされる前に明らかにムービー クリップが削除されることです。

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

4

1 に答える 1

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)
}
于 2012-05-11T09:19:26.120 に答える