フラッシュ+ AS2 =それがクリックされたときにムービークリップ自体をアンロードします

StackOverflow https://stackoverflow.com/questions/1459667

質問

私は、それがクリックされたときに、2つの他のムービークリップをアンロードムービークリップを持っています。このビットは正常に動作しますが、それはまた、特に動作しない、この後に自分自身を削除する必要があります。ここに私のコードは、誰かが私が間違っているのを教えてくださいすることができます:

close_button.onRelease = function() {
 background.unloadMovie();
 loading.unloadMovie();
 this.unloadMovie();
}

よろしくおよびTIA

//編集

ここで私は、ムービークリップを作成するコードがあります

// load background, movieclip container (loading) and close button
var background:MovieClip = _root.attachMovie("mc_back","loading_background", 100000);
var loading:MovieClip = _root.createEmptyMovieClip("loading",_root.getNextHighestDepth());
var close_button:MovieClip = _root.attachMovie("close_button","close_button",_root.getNextHighestDepth());

私が試します:

this._parent.close_button.unloadMovie(); // it removed the whole _root movieclip, as _root is the parent

_parent.close_button.unloadMovie(); // did just nothing

の両方が失敗します。

役に立ちましたか?

解決

イベントハンドラでは、「thisは」はメインムービー、close_buttonを参照することになります。あなたはどちらかのハンドラonRelease閉じるボタンの外側をthis、またはthis.parent.unloadMovie()をしようとする等しい変数を宣言するだけです(閉じるボタンの親を仮定は、削除しようとしている映画です)。

他のヒント

ムービークリップは、それがそうではありませんコードを読み取ることができないので、それは自己だアンロードできません それが最初の場所にアンロードされません。

試してみてください。

close_button.onRelease = function() {
    background.unloadMovie();
    loading.unloadMovie();

    this.removeMovieClip();  // This 'removes' the movie clip
                             // which is the closest to 'unload'

}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top