【问题标题】:Flash ActionScript 3.0 button click over global MouseEvent.CLICKFlash ActionScript 3.0 按钮单击全局 MouseEvent.CLICK
【发布时间】:2015-03-13 23:44:08
【问题描述】:

我想用 ActionScript 3.0 在 flash 中做下一个:

  1. 全局事件(如果用户用鼠标点击屏幕的任何部分):

addEventListener(MouseEvent.CLICK, nextc);

function nextc (event:MouseEvent): void

{nextFrame();}

  1. 按钮事件(如果用户点击该按钮):

returnb54.addEventListener(MouseEvent.CLICK, returnb54a);

函数 returnb54a(event:MouseEvent):void

{prevFrame();}

但是在带有全局事件和按钮的框架上,单击按钮时什么也没有发生。

有没有办法让按钮事件优先于全局?

谢谢。

【问题讨论】:

    标签: actionscript-3 flash


    【解决方案1】:

    我创建了一个非常简单的应用程序来测试您的问题(我使用与您定义的名称相同的名称,以便更容易理解)。

    我改了3点:

    1-

      this.stage.addEventListener (MouseEvent.CLICK, nextc);
    

    2-

      function returnb54a(event:MouseEvent):void
      {
          event.stopImmediatePropagation();
          prevFrame();
      }
    

    3-

      function nextc(event:MouseEvent): void
      {
         event.stopImmediatePropagation();
         nextFrame();
      }
    

    方法:stopImmediatePropagation() 阻止处理当前节点中的任何事件侦听器以及事件流中的任何后续节点。该方法立即生效,并影响当前节点中的事件监听器。相比之下,stopPropagation() 方法直到当前节点中的所有事件侦听器都处理完后才生效。

    尝试实施这些更改,看看是否会产生预期的结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-03
      • 1970-01-01
      • 2010-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-22
      相关资源
      最近更新 更多