Flash ActionScript3事件处理顺序与优先级解析

需积分: 10 2 下载量 18 浏览量 更新于2024-08-22 收藏 1.39MB PPT 举报
本文主要介绍了Flash ActionScript3.0中的事件处理机制,特别是关于事件处理顺序的实例,以及如何通过设置优先级来控制事件监听器的执行次序。 在ActionScript3.0中,事件处理是动画设计和交互性的重要组成部分。事件监听机制允许对象对特定事件作出响应。例如,在描述的实例中,`mc1`对象有两个事件监听器,分别用于处理` MouseEvent.CLICK`事件。这两个监听器的添加顺序决定了它们的执行顺序,因为它们的优先级由第四个参数决定,即`false,1`和`false,2`。较小的数字表示较高的优先级,因此`fangda`函数会先于`suoxiao`函数执行,因为它的优先级更高(1<2)。 事件监听的语法结构如下: ```actionscript object.addEventListener(EventType, listenerFunction, useCapture, priority); ``` - `object` 是事件的目标对象,也就是事件发生时的对象。 - `EventType` 是事件类型,如`MouseEvent.CLICK`,是一个字符串。 - `listenerFunction` 是事件发生时要调用的函数或方法。 - `useCapture` 是一个布尔值,表示事件是否在捕获阶段触发,这里设置为`false`,意味着事件将在冒泡阶段处理。 - `priority` 是事件监听器的优先级,数字越小,优先级越高,事件处理时越先执行。 事件处理通常包含以下步骤: 1. **确定事件目标**:事件的目标是事件发生的对象。 2. **注册事件侦听**:使用`addEventListener()`方法在事件目标上添加事件监听器。同一个对象可以注册多个事件监听器,对应不同类型的事件。 3. **执行事件响应函数**:当事件目标接收到匹配的事件时,会调用相应的事件响应函数,传递事件对象作为参数。 在给定的示例中,按钮`bt`注册了三个事件监听器,分别为` MouseEvent.MOUSE_DOWN`、`MouseEvent.DOUBLE_CLICK`和`MouseEvent.MOUSE_UP`,每个事件都有对应的处理函数,如`hd1`和`hd2`。当用户与按钮交互时,相应的事件监听器会被触发,执行相应的函数。 此外,还提到了一个创建人物走路动画的例子,其中包含一个名为`mc1`的元件和一个按钮`bt`。在主时间轴第一帧添加的代码会为按钮添加一个` MouseEvent.MOUSE_DOWN`事件监听器,当用户点击按钮时,可能会触发某个预定义的行为。 理解ActionScript3.0中的事件处理机制对于创建交互式Flash应用程序至关重要。正确设置事件监听器的顺序和优先级,能确保程序按照预期的逻辑进行响应,提供流畅的用户体验。