2

1つのイベントに2つの関数を配置しようとしています。マウスの左ボタンをクリックすることで、正方形の可視性を偽と真にすることができます。ただし、これは1回だけ機能します。最初のクリックで消え、2回目のクリックで再表示されます。その後、それはもはや機能しません。使用後も常にコードを読み取るようにするにはどうすればよいですか?これが私のコードです:

var poop = true;

stage.addEventListener(MouseEvent.CLICK, dissappearsquare)
function dissappearsquare(evt:MouseEvent):void
{
if(poop == true)
{
square2.visible = false;
poop = false;
}
stage.addEventListener(MouseEvent.CLICK, dissappearsquare1)
function dissappearsquare1(evt:MouseEvent):void
{
if(poop == false)
{
    square2.visible = true;
    poop = true;
}
 }
 }
 }

十分な情報を提供できれば幸いです。ご意見をお寄せいただきありがとうございます。

4

1 に答える 1

0

EventListenerが2つあると、両方が実行されるため、一方が他方のアクションをオーバーライドします。

必要なのは1つだけで、もっと簡単です。

stage.addEventListener(MouseEvent.CLICK, dissappearsquare)
function dissappearsquare(evt:MouseEvent):void
{
     square2.visible = !square2.visible
}

つまり、次のことを意味します。

stage.addEventListener(MouseEvent.CLICK, dissappearsquare)
function dissappearsquare(evt:MouseEvent):void
{
     if (square2.visible == true) {
         square2.visible = false
     }
     else if (square2.visible == false) {
         square2.visible = true
     }
}
于 2012-12-13T11:42:08.537 に答える