目前正在制作一个按钮,用于打开和关闭影片剪辑的可见性。这是我的代码;
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;
}
}
然而,当点击按钮时没有任何反应。我假设这是因为它是一个自相矛盾的函数,但是如果影片剪辑可见或不可见,我不知道任何其他存储方式。
有人可以帮忙吗?
答案 0 :(得分:1)
自相矛盾的功能
几乎。
使用调试器逐步执行代码,您将看到两个if语句都为true。第一个启用第二个,这抵消了第一个的影响。
这样做:
function howToPlay(event:MouseEvent):void
{
infoBox.visible = !infoBox.visible;
}
但我真的很好奇,据我所知,这个盒子是否可见,那么它是不可见的?
是。 !
反转一个布尔值。 visible
属性设置为一个值,它是自己的值但是已反转。如果是true
,则变为false
,反之亦然。
如果双方使用该属性会让您感到困惑,请首先使用硬编码值尝试一些更简单的代码:
infoBox.visible = !true;
infoBox.visible = !false;