位置: 编程技术 - 正文
推荐整理分享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 中多了鼠标捕获事件派发,这可以在不同的平台上,丰富我们游戏的用户体验。
使用如上方法,创建一个鼠标监听器。然后分别实现各种回调函数,并且绑定。
自定义事件:
以上是系统自带的事件类型,事件由系统内部自动触发,如 触摸屏幕,键盘响应等,除此之外,还提供了一种 自定义事件,简而言之,它不是由系统自动触发,而是人为的干涉,如下:
以上定义了一个 “自定义事件监听器”,实现了一些逻辑,并且添加到事件分发器。那么以上逻辑是在什么情况下响应呢?请看如下:
定义了一个 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
上一篇:毕业季:90后开发者cocos经验谈——如何入行、如何进步(90后的毕业照)
下一篇:铁嘴李的Cocos2dx之旅之首选项数据读写操作(铁嘴啥意思)
友情链接: 武汉网站建设