动作脚本 3;如何制作切换按钮?

Actionscript 3; how to make a toggle button?

目前正在制作一个按钮,用于打开和关闭影片剪辑的可见性。这是我的代码;

infoButton.addEventListener(MouseEvent.CLICK, howToPlay);


var boxUp:Boolean = false;

function howToPlay(event:MouseEvent):void 
{
    if(boxUp == false)
    {
        infoBox.visible = true;
        boxUp = true;
    }
    if(boxUp == true){
        infoBox.visible = false;
        boxUp = false;
    }


}

但是当点击按钮时没有任何反应。我假设这是因为它是一个自相矛盾的函数,但是我不知道是否有任何其他方法可以存储影片剪辑是否可见。

有人可以帮忙吗?

self contradicting function

差不多。

使用调试器单步执行代码,您将看到两个 if 语句都为真。第一个启用第二个,它抵消了第一个的效果。

只需这样做:

function howToPlay(event:MouseEvent):void 
{
    infoBox.visible = !infoBox.visible;
}

but I'm really curious, as far as I can tell it's telling if the box is visible, then it's not visible?

是的。 ! 反转布尔值。 visible 属性 被设置为一个值,该值是它自己的值但倒置了。如果是 true,则变为 false,反之亦然。

如果在两边都使用 属性 让您感到困惑,请先尝试使用硬编码值的一些更简单的代码:

    infoBox.visible = !true;
    infoBox.visible = !false;