位置: 编程技术 - 正文

cocos2dx的事件分发器(cocos2dx schedule)

编辑:rootadmin

推荐整理分享cocos2dx的事件分发器(cocos2dx schedule),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:cocos2dx视频教程,cocos2dx运行原理,cocos案例,cocos2dx 教程,cocos2d schedule,cocos点击事件,cocos2dx schedule,cocos2dx schedule,内容如对您有帮助,希望把文章链接给更多的朋友!

在使用时,首先创建一个事件监听器,事件监听器包含以下几种:

触摸事件 (EventListenerTouch)键盘响应事件 (EventListenerKeyboard)加速记录事件 (EventListenerAcceleration)鼠标响应事件 (EventListenerMouse)自定义事件 (EventListenerCustom)

以上事件监听器统一由 _eventDispatcher 来进行管理。它的工作需要三部分组成:

事件分发器 EventDispatcher事件类型 EventTouch, EventKeyboard 等事件监听器 EventListenerTouch, EventListenerKeyboard 等

触摸事件:

添加事件监听器到事件分发器

键盘处理事件:

加速计事件:

在使用加速计事件监听器之前,需要先启用此硬件设备:

Device::setAccelerometerEnabled(true);

然后创建对应的监听器,在创建回调函数时,可以使用 lambda 表达式创建匿名函数,也可以绑定已有的函数逻辑实现,如下:

鼠标事件:

在 3.0 中多了鼠标捕获事件派发,这可以在不同的平台上,丰富我们游戏的用户体验。

cocos2dx的事件分发器(cocos2dx schedule)

使用如上方法,创建一个鼠标监听器。然后分别实现各种回调函数,并且绑定。

自定义事件:

以上是系统自带的事件类型,事件由系统内部自动触发,如 触摸屏幕,键盘响应等,除此之外,还提供了一种 自定义事件,简而言之,它不是由系统自动触发,而是人为的干涉,如下:

以上定义了一个 “自定义事件监听器”,实现了一些逻辑,并且添加到事件分发器。那么以上逻辑是在什么情况下响应呢?请看如下:

定义了一个 EventCustom ,并且设置了其 UserData 数据,手动的通过 _eventDispatcher->dispatchEvent(&event); 将此事件分发出去,从而触发之前所实现的逻辑。

我们可以通过以下方法移除一个已经被添加了的监听器。

也可以使用如下方法,移除当前事件分发器中所有监听器。

当使用 removeAll 的时候,此节点的所有的监听将被移除,推荐使用 指定删除的方式。

注意:removeAll 之后 菜单 也不能响应。因为它也需要接受触摸事件。

铁嘴李的Cocos2dx之旅之首选项数据读写操作 本期笔者为大家介绍一个Cocos2d上一个强大的功能,一个文件的操作。UserDefault::getInstance()-setStringForKey(data,Hellojikexueyuan);log(%s,UserDefault::getInstance()-getString

lua4.0中实现% 取余操作 相信大家对%取余很熟悉,lua5.0以上也完美的支持了,但是我最新的项目服务器使用%却莫名的报错,最后终于找到了罪魁祸首,#defineLUA_VERSIONLua4.0是的,

cocos2dx切换场景如何释放内存 很简单,把memorywarning里面的代码拷出来就好:CCSpriteFrameCache::sharedSpriteFrameCache()-purgeSharedSpriteFrameCache();CCTextureCache::sharedTextureCache()-removeUnusedTextures();参考:h

本文链接地址:https://www.jiuchutong.com/biancheng/368829.html 转载请保留说明!

上一篇:毕业季:90后开发者cocos经验谈——如何入行、如何进步(90后的毕业照)

下一篇:铁嘴李的Cocos2dx之旅之首选项数据读写操作(铁嘴啥意思)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络