如果内部按钮不起作用

时间:2011-03-09 06:27:33

标签: flash actionscript-3 if-statement

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;”它确实跟踪其他!

1 个答案:

答案 0 :(得分:0)

您正在将menu_open初始化为代码顶部的true,因此当您第一次输入onNav2()时,您的if语句将运行第一部分(此假设您不在代码中的任何其他位置更改menu_open。在那里,您将menu_open设置为false,因此调用它的第二时间应该运行代码的else部分。然后,下次应该运行if部分,因为menu_open已经设置回true