ActionScript从入门到高手教程全集(六) 事件处理
ActionScript从入门到高手教程全集(六) 事件处理
事件处理机制是as3.0特色,也是开发人员的困惑,。ActionScript 3.0 事件模型不仅方便,而且符合标准,它与 Adobe Flash Player 9 显示列表完美集成在一起。一起来看一下flash中的事件处理。
无论何时编写事件侦听器代码,该代码都会采用以下基本结构。
function eventResponse(eventObject:EventType):void
{
// 此处是为响应事件而执行的动作。
}
eventTarget.addEventListener(EventType.EVENT_NAME, eventResponse);
下面参考列表包含将会在本章中遇到的重要术语:
■ 默认行为 (Default behavior):某些事件包含通常与事件一起发生的行为 (称为默认行
为) 。例如,当用户在文本字段中键入文本时,将引发文本输入事件。该事件的默认行为
是实际显示在文本字段中键入的字符,但您可以覆盖该默认行为(如果由于某种原因,
您不希望显示键入的字符) 。
■ 调度 (Dispatch):通知事件侦听器发生了事件。
■ 事件 (Event):对象可以通知其它对象它所发生的情况。
■ 事件流 (Event flow):如果显示列表中的对象 (屏幕上显示的对象)发生事件,则会向
包含该对象的所有对象通知此事件,并依次通知其事件侦听器。此过程从舞台开始,并
在显示列表中一直进行到发生事件的实际对象,然后再返回到舞台。此过程称为事件流。
■ 事件对象 (Event object):此对象包含发生的特定事件的相关信息,当调度事件时,此信
息将被发送到所有侦听器。
■ 事件目标 (Event target):实际调度事件的对象。例如,如果用户单击位于 Sprite(位
于舞台内)内的.按钮,所有这些对象将调度事件,但事件目标是指实际发生事件的对象,
此处指单击的按钮。
■ 侦听器 (Listener):对象或在对象中注册其自身的函数,用于指示发生特定事件时应通
知它。
定义为类方法的侦听器函数
下面的示例与前面定义 ClickExample 类的示例相同,只是将 clickHandler() 函数定义为
ChildSprite 类的方法:
package
{
import flash.display.Sprite;
public class ClickExample extends Sprite
{
public function ClickExample()
{
var child:ChildSprite = new ChildSprite();
addChild(child);
}
}
}
import flash.display.Sprite;
import flash.events.MouseEvent;
class ChildSprite extends Sprite
{
public function ChildSprite()
{
graphics.beginFill(0xFF0000);
graphics.drawRect(0,0,100,100);
graphics.endFill();
addEventListener(MouseEvent.CLICK, clickHandler);
}
private function clickHandler(event:MouseEvent):void
{
trace("clickHandler detected an event of type: " + event.type);
trace("the this keyword refers to: " + this);
}
}
当用户通过单击红色正方形与生成的 SWF 文件交互时,Flash Player 生成以下跟踪输出:
clickHandler detected an event of type: click
the this keyword refers to: [object ChildSprite]
请注意,this 关键字引用名为 child 的 ChildSprite 实例。
【ActionScript从入门到高手教程全集(六) 事件处理】相关文章:
1.ActionScript从入门到高手教程全集(四)错误处理
2.ActionScript从入门到高手教程全集(三)字符串的处理
3.ActionScript从入门到高手教程全集(七)几何相关的类
4.ActionScript3.0从入门到高手教程全集(二)日期和定时器的处理