`
zccst
  • 浏览: 3310039 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

事件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  一个加载项加载失败事件。





如果您觉得本文的内容对您的学习有所帮助,您可以微信:
分享到:
评论

相关推荐

    谈Java技术中的事件处理与应用.pdf

    事件处理类及其继承关系如图所示。 Java把事件类分为语义事件和底层事件,语义事件直接继承自AWTEvent类,如:ActionEvent、AdjustmentEvent等;底层事件则是继承自ComponentEvent类,如:ContainerEvent、...

    04.C# 知识回顾 - Event 事件.pdf

    为了在事件触发时传递数据,通常需要创建一个继承自 EventArgs 的自定义类。例如: ```csharp public class MyEventArgs : EventArgs { public string Message { get; private set; } public MyEventArgs(string...

    05_QtEvent.rar

    6. **自定义事件**:有时我们需要处理自定义的事件,这可以通过继承QEvent类并创建新的事件类型来实现。创建自定义事件后,我们可以使用QApplication::postEvent()函数将其发送到指定的对象。 7. **信号与槽**:...

    ACE继承层次图

    本文将对“ACE继承层次图”中的关键类及其相互关系进行详细介绍。 #### 二、核心类介绍 1. **ACE_Event_Handler**:这是所有事件处理类的基础,提供了异步事件处理的基本框架。它定义了处理输入/输出事件的方法。 ...

    unity中事件机制的使用方式

    - 可以创建自定义的事件类,继承自`UnityEvent, UnityEvent, T1>`等,以便携带更多的数据或特定类型的信息。 8. **Unity的Message System**: - 除了UnityEvent之外,Unity还有另一套消息系统,允许通过`OnXXX`...

    JAVA事件处理机制

    Java中的事件类通常继承自java.util.EventObject。例如,ActionEvent代表用户执行了一个动作,如点击按钮。MouseEvent表示鼠标操作,KeyEvent则涉及键盘输入。 然后,事件监听器是处理事件的对象,它们通过实现特定...

    java事件原理

    所有事件类都必须继承`java.util.EventObject`,这是Java事件系统的基类,它定义了事件的基本结构和行为。`EventObject`类有一个构造方法`EventObject(Object source)`,用于在创建事件对象时指定事件源。此外,`...

    CEGUI 几个控件相关类的见解

    - **EventSet**类处于较底层位置,作为基础类被多个其他类继承,其中包括重要的**Window**类。 **2. 成员函数介绍** - **构造与销毁**:`EventSet()`和`virtual ~EventSet(void)`分别用于创建和销毁`EventSet`...

    [Delphi]多线程编程(13)多线程同步之Event(事件对象).pdf

    标题《[Delphi]多线程编程(13)多线程同步之Event(事件对象)》意味着这份文档关注于Delphi编程语言中处理多线程时如何使用事件对象进行线程间的同步。在多线程编程中,事件(Event)是一种同步机制,用于控制线程的...

    初步接触Java事件机制

    每个事件类都继承自java.util.EventObject。 2. **事件源** (Event Source): 事件源是触发事件的对象,通常是UI组件,如按钮、文本框等。在Java中,所有可以生成事件的组件都实现了EventListener接口,或者包含了...

    模拟JDK AWT的事件处理机制

    每个事件类都继承自java.awt.Event类,包含有关事件的信息,如事件类型、时间戳等。 3. **事件监听器(Event Listener)**: - 为了响应事件,我们需要注册事件监听器到事件源上。监听器是实现了特定接口的对象,...

    Java和_Net事件处理机制的比较研究

    在Java中,事件处理的核心类通常会继承`java.util.EventObject`类。此外,事件监听者的接口需要扩展自`java.util.EventListener`。以下是一个简单的Java事件处理示例: ```java // 定义事件对象 class ChangeEvent ...

    C#中的事件标准化编程

    下面我们将深入探讨C#中事件的使用及其标准化编程方法。 首先,我们需要了解事件的基本概念。在C#中,事件是类的私有成员,通常作为委托类型(Delegate Type)的实例。这个委托类型通常是一个或多个事件处理方法的...

    Flex基础培训

    - 创建自定义事件类:新建一个ActionScript类,继承自`Event`类,并添加需要传递的数据属性。 - 在事件对象中设置数据:在派发事件时,将需要传递的数据赋值给自定义事件类的属性。 - 接收并使用数据:在事件...

    Flex事件机制(通俗易懂)

    所有事件类都继承自 `Event` 类,这个基类包含了 `name` 和 `bubbles` 属性。`name` 属性用来标识事件的类型,而 `bubbles` 属性则决定了事件是否能够向上冒泡。 **事件冒泡**:当一个事件对象被创建并分发时,它的...

    自定义事件(java).doc

    `EventObject`是所有事件类的基础,它包含了一个`source`字段,用于存储触发事件的对象。`MyChangeEvent`类添加了一个名为`myname`的私有字符串字段,表示自定义事件的具体信息: ```java public class ...

    Qt 自定义事件

    首先,要创建一个自定义事件,你需要继承QEvent类。QEvent是Qt事件系统的基石,包含了事件类型和数据成员。例如,你可以这样创建一个名为`MyCustomEvent`的自定义事件: ```cpp class MyCustomEvent : public ...

    关于flex事件的讲解

    无论是什么类型的事件类,它们都是继承自`flash.events.Event`的。事件对象包含了一些重要的属性,如`name`和`bubbles`。 - `name`属性用于标识事件类型。 - `bubbles`属性是一个布尔值,决定事件是否向上冒泡,即...

    Java中事件的详细底层实现

    Java 1.1及其后续版本中的事件委派模型定义了一系列新的事件类别,这些事件类别主要位于`java.awt.event`包中。事件类别的继承关系如下: - `java.util.EventObject`:所有事件类别的基类,包含一个重要的成员`...

Global site tag (gtag.js) - Google Analytics