我有一个脚本,一旦点击(按钮),其他一些东西隐藏,然后再次点击它重新显示。问题是一旦隐藏它再也不会显示在这里是脚本:
menu_start.addEventListener(MouseEvent.CLICK, myClickFunction);
function myClickFunction(event:MouseEvent) {
// Hide the first and show the next here
if (menu_menu.visible == true){
menu_menu.visible = false;
}
if (menu_menu.visible == false) {
menu_menu.visible == true;
}
}
非常感谢。
答案 0 :(得分:10)
我更喜欢用简短的形式写这样的逻辑:
menu_menu.visible = !menu_menu.visible;
答案 1 :(得分:5)
原因是你点击了 按钮,它确实隐藏但是再次 你单击相同的按钮 不显示回来
如果我在上述陈述中错了,请纠正我。
现在试试我说的话,有两个按钮隐藏和显示。创建两个新函数并尝试一下,如果这样有效,那么你的逻辑中就会缺少一些东西,如果这不起作用那么请告诉我们。
也试试这个。
function myClickFunction(event:MouseEvent) {
// Hide the first and show the next here
if (menu_menu.visible){
menu_menu.visible = false;
} else {
menu_menu.visible = true;
}
}
另一个问题可能是,当你点击按钮时可能是它没有再次获取menu_menu属性作为其隐藏或销毁。它是在同一个组件内还是从其他地方调用?
答案 2 :(得分:3)
在你的第二个“if”语句中,你没有将.visible指定为true,而是检查它是否等于true,因为这两个等号。
function myClickFunction(event:MouseEvent) {
// Hide the first and show the next here
if (menu_menu.visible == true){
menu_menu.visible = false;
}
if (menu_menu.visible == false) {
menu_menu.visible = true;
}
}
答案 3 :(得分:0)
尝试使用alpha = 0.1而不是visible = false和alpha = 1而不是visible = true。
问题在于,当您使用visible = false时,它还会禁用鼠标交互,因此您的第二次点击永远不会触发。