cocos2dx自定义事件类封装

GameEvent.h:

 1 #pragma once
 2 #include "cocos2d.h"
 3 USING_NS_CC;
 4
 5 class GameEvent {
 6 public:
 7     //封装派发数据
 8     static void dispatchSet(std::string eventName, void *optionalUserData = nullptr);
 9     static void dispatch(std::string eventName, void *optionalUserData = nullptr);
10     static void addEventListener(std::string eventName, const std::function<void(EventCustom*)>& callback);
11     static void removeEventListener(std::string eventName);
12 };

GameEvent.cpp:

 1 #include "GameEvent.h"
 2
 3
 4
 5 void GameEvent::dispatch(std::string eventName, void *optionalUserData) {
 6     Director::getInstance()->getEventDispatcher()->dispatchCustomEvent(eventName, optionalUserData);
 7 }
 8
 9 void GameEvent::addEventListener(std::string eventName, const std::function<void(EventCustom*)>& callback) {
10     Director::getInstance()->getEventDispatcher()->addCustomEventListener(eventName, callback);
11 }
12
13 void GameEvent::removeEventListener(std::string eventName) {
14     Director::getInstance()->getEventDispatcher()->removeCustomEventListeners(eventName);
15 }
时间: 2024-11-06 01:26:20

cocos2dx自定义事件类封装的相关文章

Cocos2d-x 自定义按钮类控制精灵攻击----之游戏开发《赵云要格斗》

本篇要讲讲怎么自定义按钮类,并通过这个按钮类的对像来控制精灵的攻击.在看本篇之前最好先看看上一篇 Cocos2d-x虚拟摇杆控制精灵上下左右运动----之游戏开发<赵云要格斗>,要素材和项目代码的把邮箱留下吧,因为这个项目还没弄完,我一直在改. 精灵的攻击也是一个动画,只不过,这个动画只播放一次,相当于在界面上加一个按钮,然后你点一次按钮,精灵就播放一次动画. 一.自定义按钮类 按钮可以用COCOS2D-X自带的,想着方便一点,我就自己封装了一个按钮类ControlButton,在里面添加一个

基于jquery、模板引擎、自定义事件类实现GridView组件

完成效果: 需求: 根据数据配置来展示的类似GridView. 设计配置项: datasource:[{},{}], //数据源绑定 json格式 width:null, //默认不设置 自动获取父节点的宽度 height:200, //列表高度 pageModule:{ //--分页配置-- index:1, //当前页 pageNum:50, //每页显示数量 total:, //总数 pageRate:[50,100,200,500], //设置每页显示数量 onChange:functi

第四十四课、发送自定义事件(下)

一.自定义事件对象 1.Qt可以自定义新的事件类 (1).自定义的事件类必须继承自QEvent (2).自定义的事件类必须拥有全局唯一的Type值(event->type()可以获得事件的类型) (3).程序中必须提供处理自定义事件的方法 2.自定义事件类 (1).将QEvent作为父类继承 (2).指定全局唯一的Type值 3.Qt事件的Type值 (1).每个事件类都拥有全局唯一的Type值(类似于唯一的ID号) (2).自定义事件类的Type值也需要自定义 (3).自定义事件类使用QEve

Qt自定义事件实现及子线程向主线程传送事件消息

最近在重新学习Qt的时候,因为要涉及到子线程与主线程传递消息,所以便琢磨了一下,顺便把实用的记录下来,方便自己以后查询及各位同仁的参考! 特此声明,本篇博文主要讲述实用的,也就是直接说明怎么实现,就不打算陈述一大堆理论啦,不过,还是建议大家去查查相应的理论比较好,这样能对Qt的消息传送机制的理解更加深入! 根据网上大多数人的资料,要实现自定义消息,需要从QEvent 派生一个自定义的事件:其实也可以不需要,只要使用QEvent::Type自定义一个事件就行了.在这里,本人把两种实现方法都在这里讲

第44课 发送自定义事件(下)

1. 自定义事件对象 (1)自定义事件类必须继承自QEvent (2)自定义的事件类必须拥有全局唯一的Type值 (3)程序中必须提供处理自定义事件对象的方法 2. 自定义事件类 (1)将QEvent作为父类继承 (2)指定全局唯一的Type值 class StringEvent: public QEvent { public: //提供全局唯一的Type值 static const Type TYPE = static_cast<Type>(QEvent::User + 0xFF); //.

as3.0自定义事件。

今天看到一个容易理解的as3.0自定义事件实例: package { import flash.display.Sprite; import flash.events.MouseEvent; import flash.events.EventDispatcher; public class myClip extends Sprite { public function myClip() { addEventListener(MouseEvent.CLICK,clickHander); } pri

【Cocos2d-x Lua】http工具类封装

实现 该工具类对Cocos2d-x中的HttpClient进行了封装,使可以在Lua中实现http异步请求. LuaHttpClient.h #ifndef __LUAHTTPCLIENT_H__ #define __LUAHTTPCLIENT_H__ #include "cocos2d.h" USING_NS_CC; #include "cocos-ext.h" USING_NS_CC_EXT; // 参数封装类 class LuaParams{ public:

Cocos2d-x下Lua调用自定义C++类和函数的最佳实践 -- 转

原地址: http://blog.segmentfault.com/hongliang/1190000000631630 Cocos2d-x下Lua调用自定义C++类和函数的最佳实践 关于cocos2d-x下Lua调用C++的文档看了不少,但没有一篇真正把这事给讲明白了,我自己也是个初学者,摸索了半天,总结如下: cocos2d-x下Lua调用C++这事之所以看起来这么复杂.网上所有的文档都没讲清楚,是因为存在5个层面的知识点: 1.在纯C环境下,把C函数注册进Lua环境,理解Lua和C之间可以

jQuery封装自定义事件--valuechange(动态的监听input,textarea)之前值,之后值的变化

jQuery封装自定义事件--valuechange(动态的监听input,textarea)之前值,之后值的变化 js监听输入框值的即时变化 网上有很多关于 onpropertychange.oninput的讲解,但是他们都不是我想要的,我想要的是动态的监听input,textarea等之前值和之后改变的值,比如像KISSY中的valuechange事件一样,当我在输入框里面开始输入1的时候,那么之前值是undefined,现在的值是1,当我接着输入2时候,那么之前的值是1,现在的值是2.等,