Flash AS3切换可见

时间:2010-11-06 17:24:48

标签: flash actionscript-3

我有一个脚本,一旦点击(按钮),其他一些东西隐藏,然后再次点击它重新显示。问题是一旦隐藏它再也不会显示在这里是脚本:

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;
      }

}

非常感谢。

4 个答案:

答案 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时,它还会禁用鼠标交互,因此您的第二次点击永远不会触发。