0

さて、sC という名前の MovieClip があり、ボタン (sC) をクリックすると sC が消えるコードを記述する必要があります。この関数は、複数のボタンに対して機能する必要があります。私が試したのは

sC.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(event:MouseEvent):void {
    var self;
    self = MovieClip(getChildByName(event.target.name));
    self.visible=false;

このコードを試すと、sC をクリックするとエラーが表示されます。「null オブジェクト参照のプロパティまたはメソッドにはアクセスできません。」と表示されます。トレース(自己)しようとすると、「null」が出力されます。clicKHandler 関数を使用しているオブジェクトのインスタンスの名前を取得し、その可視性を false (visible=false) にする方法はありますか?

trace(event.target.name) を実行すると、「instance127」と表示されることに注意してください。

4

1 に答える 1

1

コードでは、変数selfは movieClip の名前に解決されますが、それが存在する場所への完全なパスには解決されません。以下のように設定してみてください。ターゲットはクリックされたボタンです。

sC.addEventListener(MouseEvent.CLICK, clickHandler);

function clickHandler(event:MouseEvent):void
{
    event.target.visible = false;
}
于 2013-09-25T17:22:21.663 に答える