cocos2d-x 3.0
- 首页 - 相关页面 - 模块 - 命名空间 - - 文件 -
Public 类型 - 图1 Public 类型 - 图2)
- 类列表 - 类索引 - 类继承关系 - 类成员

全部)) 命名空间) 文件) 函数) 变量) 类型定义) 枚举) 枚举值) 属性) 友元) 宏定义)))

Public 类型 | Public 成员函数 | Protected 成员函数 | Protected 属性 | 友元 | 所有成员列表

EventListener类 参考abstract

事件监听器( event listener)的基类. 更多…

#include

类 EventListener 继承关系图:

Public 类型 - 图3 Ref EventListenerAcceleration EventListenerCustom EventListenerFocus EventListenerKeyboard EventListenerMouse EventListenerTouchAllAtOnce EventListenerTouchOneByOne

## Public 类型
enum Type { UNKNOWN, TOUCH_ONE_BY_ONE, TOUCH_ALL_AT_ONCE, KEYBOARD, MOUSE, ACCELERATION, FOCUS, CUSTOM }
typedef std::string ListenerID
## Public 成员函数
virtual ~EventListener ()
析构函数 更多…
virtual bool checkAvailable ()=0
检查监听器(listener)是否可用. 更多…
virtual EventListener clone ()=0
克隆监听器(listener),它的子类必须重写此. 更多…
void setEnabled (bool enabled)
启用或禁用监听器(listener) 更多…
bool isEnabled () const
检查监听器是否可用 更多…
- Public 成员函数 继承自 Ref
void retain ()
保留所有权. 更多…
void release ()
立即释放所有权. 更多…
Ref autorelease ()
自动释放所有权在不久的将来. 更多…
unsigned int getReferenceCount () const
返回Ref对象当前的引用计数. 更多…
virtual ~Ref ()
NA NA 更多…
## Protected 成员函数
EventListener ()
构造函数 更多…
bool init (Type t, const ListenerID &listenerID, const std::function< void(Event )> &callback)
使用 事件类型和回调函数 初始化事件 更多…
void setPaused (bool paused)
设置监听器的暂停状态 暂停状态仅被用于场景图像优先级监听器. 更多…
bool isPaused () const
检查监听器是否被暂停 更多…
void setRegistered (bool registered)
标记监听器已经被加入到事件派发器(EventDispatcher) 更多…
bool isRegistered () const
检查监听器是否被注册到事件派发器(EventDispatcher) 更多…
Type getType () const
获取监听器(listener)的类型 更多…
const ListenerID & getListenerID () const
获取监听器的ID 当事件派发,监听器ID是用于查找符合事件类型的监听器的关键字. 更多…
void setFixedPriority (int fixedPriority)
为监听器设置固定优先级 更多…
int getFixedPriority () const
获取监听器的优先级 更多…
void setAssociatedNode (Node node)
设置和监听器关联的节点 更多…
Node * getAssociatedNode () const
获取和监听器关联的节点 更多…
- Protected 成员函数 继承自 Ref
Ref ()
构造函数 更多…
## Protected 属性
std::function< void(Event )> _onEvent
Type _type
事件回调函数 更多…
ListenerID _listenerID
Event listener 事件监听器的类型 更多…
bool _isRegistered
Event listener 事件监听器的ID. 更多…
int _fixedPriority
监听器(listener)是否被加入到派发器(dispatcher) . 更多…
Node _node
bool _paused
bool _isEnabled
- Protected 属性 继承自 Ref
unsigned int _referenceCount
引用计数 更多…
## 友元
class EventDispatcher

详细描述

事件监听器( event listener)的基类.

如果你需要使用不同的回调自定义监听时,你需要继承这个类 例如你可以参考 AccelerationEventListener, KeyboardEventListener or TouchEventListener, CustomEventListener.

成员类型定义说明

typedef std::string ListenerID

成员枚举类型说明

enum Type

strong

枚举值
UNKNOWN
TOUCH_ONE_BY_ONE
TOUCH_ALL_AT_ONCE
KEYBOARD
MOUSE
ACCELERATION
FOCUS
CUSTOM

构造及析构函数说明

EventListener ( )

protected

构造函数

virtual ~EventListener ( )

virtual

析构函数

成员函数说明

virtual bool checkAvailable ( )

pure virtual

检查监听器(listener)是否可用.

EventListenerTouchAllAtOnce, EventListenerCustom, EventListenerTouchOneByOne, EventListenerFocus, EventListenerKeyboard, EventListenerMouse , 以及 EventListenerAcceleration 内被实现.

virtual EventListener* clone ( )

pure virtual

克隆监听器(listener),它的子类必须重写此.

EventListenerTouchAllAtOnce, EventListenerCustom, EventListenerTouchOneByOne, EventListenerFocus, EventListenerKeyboard, EventListenerMouse , 以及 EventListenerAcceleration 内被实现.

Node* getAssociatedNode ( ) const

inlineprotected

获取和监听器关联的节点

  • 返回
  • 如果是固定优先级的监听器则返回空指针(nullptr),否则返回非空指针(non-nullptr)

int getFixedPriority ( ) const

inlineprotected

获取监听器的优先级

  • 返回
  • 如果是场景图像监听器则返回0,其他固定优先级的监听器返回非零(non-zero)值

const ListenerID& getListenerID ( ) const

inlineprotected

获取监听器的ID 当事件派发,监听器ID是用于查找符合事件类型的监听器的关键字.

Type getType ( ) const

inlineprotected

获取监听器(listener)的类型

  • 注解
  • 它不同于EventType, 例如. TouchEvent有两种事件监听器 - EventListenerOneByOne, EventListenerAllAtOnce

bool init ( Type t,
const ListenerID & listenerID,
const std::function< void(Event *)> & callback
)

protected

使用 事件类型和回调函数 初始化事件

bool isEnabled ( ) const

inline

检查监听器是否可用

bool isPaused ( ) const

inlineprotected

检查监听器是否被暂停

bool isRegistered ( ) const

inlineprotected

检查监听器是否被注册到事件派发器(EventDispatcher)

void setAssociatedNode ( Node * node)

inlineprotected

设置和监听器关联的节点

void setEnabled ( bool enabled)

inline

启用或禁用监听器(listener)

  • 注解
  • 仅当监听器"启用"(enabled)状态才能接收到事件. 当一个监听器初始化后,它默认是启用的. 当一个监听器处于启用状态且没被暂停,它可以收到事件. 暂停状态时总是false的,当它是一个固定优先级的侦听器.

void setFixedPriority ( int fixedPriority)

inlineprotected

为监听器设置固定优先级

  • 注解
  • 此方法仅用于 fixed priority listeners, 它需要传人一个非零(non-zero)值. 0 被保留用于场景图像监听器的优先级

void setPaused ( bool paused)

inlineprotected

设置监听器的暂停状态 暂停状态仅被用于场景图像优先级监听器.

EventDispatcher::resumeAllEventListenersForTarget(node) 将会设置暂停状态为 true, 然而 EventDispatcher::pauseAllEventListenersForTarget(node) 将会设置暂停状态为 false.

  • 注解
  • 1) 固定优先级的监听器不会有暂停. 如果个一个固定优先级的监听器不想接收事件,调用 setEnabled(false) 代替. 2) 在节点(Node)的 onEnter 和 onExit 方法中, 和暂停状态的监听器 关联的节点将会自动更新.

void setRegistered ( bool registered)

inlineprotected

标记监听器已经被加入到事件派发器(EventDispatcher)

友元及相关函数文档

friend class EventDispatcher

friend

类成员变量说明

int _fixedPriority

protected

监听器(listener)是否被加入到派发器(dispatcher) .

bool _isEnabled

protected

bool _isRegistered

protected

Event listener 事件监听器的ID.

ListenerID _listenerID

protected

Event listener 事件监听器的类型

Node* _node

protected

std::function<void(Event*)> _onEvent

protected

bool _paused

protected

Type _type

protected

事件回调函数


该类的文档由以下文件生成: