var menu_open:Boolean = true;
MenuContainer1.MenuContainer2.logo.nav_button.addEventListener(MouseEvent.CLICK,onNav2);
function onNav2(event:MouseEvent):void{
if (menu_open) {
trace (menu_open);
MenuContainer1.gotoAndPlay(1);
menu_open = false;
trace ("open");
trace (menu_open);
} else {
trace (menu_open);
MenuContainer1.gotoAndPlay(2);
menu_open = true;
trace ("close");
trace (menu_open);
}
}
stop();
为什么这不起作用它在我点击时不跟踪别的,但如果在我编译之前我交换“var menu_open:Boolean = true;”到“var menu_open:Boolean = false;”它确实跟踪其他!
答案 0 :(得分:0)
您正在将menu_open
初始化为代码顶部的true
,因此当您第一次输入onNav2()
时,您的if
语句将运行第一部分(此假设您不在代码中的任何其他位置更改menu_open
。在那里,您将menu_open
设置为false
,因此调用它的第二时间应该运行代码的else
部分。然后,下次应该运行if
部分,因为menu_open
已经设置回true
。