Touch Handling in Cocos2D 3.x(二)
2015-11-02 07:40
323 查看
接受触摸
在Cocos2d 3.0中每一个CCNode和每一个CCNode的子类都可以接收触摸.你只需要开启一个选项.让我们在定制的初始化器里完成它.替换MainScene.m中init方法的代码:
现在Cocos2d 将会知道我们想要在这个场景中处理触摸
处理触摸
Cocos2d 会通知我们4种不同的触摸事件:
当触摸开始时
当触摸移动时
当触摸结束时
当触摸被取消时
这些不同的方法使得你可以在屏幕上跟踪触摸,对于我们第一个例子来说,我们只需要被通知触摸开始的事件.
增加下面代码到MainScene.m中:
当用户开启一个Node的交互时,所有实现的触摸处理方法将会被调用.我们现在实现了touchBegan方法,它将在不管任何时候一个触摸开始时被调用.当触摸发生时我们使用CCLOG往console上打印调试信息.
现在运行app,每一次你触摸屏幕,一条”Received a touch”消息将显示在控制台中.现在你知道在你的游戏中如何接收任何节点的触摸了-这将是非常强大的功能.
在Cocos2d 3.0中每一个CCNode和每一个CCNode的子类都可以接收触摸.你只需要开启一个选项.让我们在定制的初始化器里完成它.替换MainScene.m中init方法的代码:
- (id)init { if (self = [super init]) { // activate touches on this scene self.userInteractionEnabled = TRUE; } return self; }
现在Cocos2d 将会知道我们想要在这个场景中处理触摸
处理触摸
Cocos2d 会通知我们4种不同的触摸事件:
当触摸开始时
当触摸移动时
当触摸结束时
当触摸被取消时
这些不同的方法使得你可以在屏幕上跟踪触摸,对于我们第一个例子来说,我们只需要被通知触摸开始的事件.
增加下面代码到MainScene.m中:
- (void)touchBegan:(UITouch *)touch withEvent:(UIEvent *)event { CCLOG(@"Received a touch"); }
当用户开启一个Node的交互时,所有实现的触摸处理方法将会被调用.我们现在实现了touchBegan方法,它将在不管任何时候一个触摸开始时被调用.当触摸发生时我们使用CCLOG往console上打印调试信息.
现在运行app,每一次你触摸屏幕,一条”Received a touch”消息将显示在控制台中.现在你知道在你的游戏中如何接收任何节点的触摸了-这将是非常强大的功能.
相关文章推荐
- Android的Touch事件处理机制介绍
- js的touch事件的实际引用
- cocos2dx骨骼动画Armature源码剖析(一)
- cocos2dx骨骼动画Armature源码剖析(二)
- 剖析iOS开发中Cocos2d-x的内存管理相关操作
- Android Touch事件分发过程详解
- iOS 5 cocos2d 游戏开发 3ff8 实战:第4章 你的第一个游戏
- quick-cocos2d-x for mac开发环境安装配置
- Secnha Commands 3 使用详解(从创建到打包)
- sencha touch 彩色图标按钮(button+ico)
- Unity3D上路_01-2D太空射击游戏
- Unity3D上路_02-第一视角射击游戏
- Unity3D上路_03-塔防游戏
- Unity3D上路_04-基础资源介绍
- Unity3D上路_05-网络相关
- 指尖下的js ——多触式web前端开发之一:对于Touch的处理
- Android 编程下 Touch 事件的分发和消费机制
- 这个季节的忧伤,点到为止
- 触摸事件的处理
- Linux下查看 && 修改文件的时间属性