Flash ActionScript 3.0 按钮单击全局 MouseEvent.CLICK

Posted

技术标签:

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

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

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

addEventListener(MouseEvent.CLICK, nextc);

function nextc (event:MouseEvent): void

nextFrame();

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

returnb54.addEventListener(MouseEvent.CLICK, returnb54a);

函数 returnb54a(event:MouseEvent):void

prevFrame();

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

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

谢谢。

【问题讨论】:

【参考方案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() 方法直到当前节点中的所有事件侦听器都处理完后才生效。

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

【讨论】:

以上是关于Flash ActionScript 3.0 按钮单击全局 MouseEvent.CLICK的主要内容,如果未能解决你的问题,请参考以下文章

动画未在 actionscript 3.0 (flash cc) 中启动

Actionscript 3.0 - 缓动拖拽

Flash ActionScript 3.0 调整事件文本大小

将变量从 HTML 传递到 Flash ActionScript 3.0

如何在 Flash 中使用 Actionscript 3.0 制作动态视频播放器

使用 javascript 与 actionscript 3.0 交互