事件Event及其继承类


基本类:

Event  比如有ADDED_TO_STAGE,COMPLETE,ENTER_FRAME

EventDispatcher:是egret的事件派发器类,负责进行事件的发送和侦听。6个方法。Tween继承自其

EventPhase

继承Event的有:

TouchEvent 比如有TOUCH_MOVE, TOUCH_TAP

TimerEvent 比如有TIMER,TIMER_COMPLETE

IOErrorEvent

ResourceEvent  比如有CONFIG_COMPLETE, GROUP_COMPLETE, GROUP_PROGRESS

一、基本类

Class: egret.Event

Event 类作为创建 Event 对象的基类,当发生事件时,Event 对象将作为参数传递给事件侦听器。

Event 类的属性包含有关事件的基本信息,例如事件的类型或者是否可以取消事件的默认行为。

对于许多事件(如由 Event 类常量表示的事件),此基本信息就足够了。但其他事件可能需要更详细的信息。 例如,与触摸关联的事件需要包括有关触摸事件的位置以及在触摸事件期间是否按下了任何键的其他信息。 您可以通过扩展 Event 类(TouchEvent 类执行的操作)将此类其他信息传递给事件侦听器。 Egret API 为需要其他信息的常见事件定义多个 Event 子类。与每个 Event 子类关联的事件将在每个类的文档中加以介绍。

Event 类的方法可以在事件侦听器函数中使用以影响事件对象的行为。 某些事件有关联的默认行为,通过调用 preventDefault() 方法,您的事件侦听器可以取消此行为。 可以通过调用 stopPropagation() 或 stopImmediatePropagation() 方法,将当前事件侦听器作为处理事件的最后一个事件侦听器。

属性:

S P ADDED :string

S P ADDED_TO_STAGE :string

S P CHANGE :string

S P COMPLETE :string

S P ENTER_FRAME :string

S P FINISH_RENDER :string

S P FINISH_UPDATE_TRANSFORM :string

S P LEAVE_STAGE :string

S P REMOVED :string

S P REMOVED_FROM_STAGE :string

S P RENDER :string

S P RESIZE :string

S P ADDED :string  将显示对象添加到显示列表中时调度。

S P ADDED_TO_STAGE :string  在将显示对象直接添加到舞台显示列表或将包含显示对象的子树添加至舞台显示列表中时调度。

S P CHANGE :string

S P COMPLETE :string    #在网络通信中使用egret.Event.COMPLETE

S P ENTER_FRAME :string  #监听FPS frame per second每秒帧数

S P FINISH_RENDER :string

S P FINISH_UPDATE_TRANSFORM :string

S P LEAVE_STAGE :string

S P REMOVED :string

S P REMOVED_FROM_STAGE :string

S P RENDER :string

S P RESIZE :string

Class: egret.EventDispatcher

EventDispatcher是egret的事件派发器类,负责进行事件的发送和侦听。

————————备注:Tween继承自egret.EventDispatcher—————————-

1,添加/删除  监听事件

M addEventListener( type: string, listener: Function, thisObject: any, useCapture: boolean, priority: number )

M removeEventListener( type: string, listener: Function, thisObject: any, useCapture: boolean )

批注:监听事件的是一个对象Rect

2,发送事件

M dispatchEvent( event: egret.Event ) → { boolean }

将事件分派到事件流中。事件目标是对其调用 dispatchEvent() 方法的 EventDispatcher 对象。

M dispatchEventWith( type: string, bubbles: boolean, data: any )

派发一个包含了特定参数的事件到所有注册了特定类型侦听器的对象中。 这个方法使用了一个内部的事件对象池因避免重复的分配导致的额外开销。

批注:

发送事件的是一个对象GroupRect,在类GroupRect中,使用this.dispatchEventWith(‘clickRight’);

所以,接收dispatchEventWith发出的事件的是GroupRect的对象,通过addEventListener

var group:GroupRect = new GroupRect();

group.addEventListener(‘clickRight’, this.clickRight, this);

3,检测是否存在监听器。针对某事件类型

M hasEventListener( type: string ) → { boolean }

M willTrigger( type: string ) → { boolean }

检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。将指定类型的事件调度给此 EventDispatcher 对象或其任一后代时,如果在事件流的任何阶段触发了事件侦听器,则此方法返回 true。 hasEventListener() 与 willTrigger() 方法的区别是:hasEventListener() 只检查它所属的对象, 而 willTrigger() 方法检查整个事件流以查找由 type 参数指定的事件。

二、继承类

TouchEvent

TimerEvent

IOErrorEvent

ResourceEvent

S P CONFIG_COMPLETE :string  配置文件加载并解析完成事件

S P GROUP_COMPLETE :string   延迟加载组资源加载完成事件

S P GROUP_PROGRESS :string   延迟加载组资源加载进度事件

S P ITEM_LOAD_ERROR :string  一个加载项加载失败事件。


4 responses on “事件Event及其继承类

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>