私はscenePageという名前のステージにMovieClipを持ち、文字MCで構成されるchar_panelという名前のMovieClipを持っています。これらのうちの1つはchar1_mcです。movieclip内の子供を削除するには
私がchar1_mcをクリックすると、新しいインスタンス(newChar)が作成され、scenePageに子が追加されます。ステージ上にbtn_removeという名前のボタンがあり、これをクリックするとscenePage上のnewCharを削除する必要があります。問題は、scenePage内の子(newChar)がボタンをクリックしたときに削除されないということです。
私は
scenePage.removeChild(newChar);
を使用してみました。しかし、それは、言って私にエラーを与える「パラメータの子が非nullでなければなりません。」 scenePage内のインスタンスにアクセスする他の方法はありますか?私は本当にscenePageの子供にアクセスする必要があります。ここで
がchar1_mcがあるchar_panel内部のスクリプトだ私はAS3のためにそれをエクスポートした後、CHARACTER1はchar1_mcのクラス名です:
import flash.display.MovieClip;
var newChar: MovieClip;
char1_mc.addEventListener(MouseEvent.CLICK, showChar1);
function showChar1(e:MouseEvent):void
{
newChar = new character1();
newChar.height = 215;
newChar.width = 220;
newChar.x = 20;
newChar.y = 202.60;
MovieClip(root).scenePage.addChild(newChar);
}
そして、これはメインのタイムラインにあるbtn_removeためのスクリプトです。事前に
btn_remove.addEventListener(MouseEvent.CLICK, remove_character);
function remove_character(e:MouseEvent):void
{
scenePage.removeChild(newChar);
}
感謝:)
「
char_panel
範囲の一部であるnewChar
オブジェクトを削除」と言っている関連するコード。エラーは、 'newChar' varに割り当てられたオブジェクトがないことを意味します(または' newChar'はまだ/もう存在しません)。 – BadFeelingAboutThis
@BadFeelingAbout私はすでにスクリプトを追加しました。 ^^ –