Touch Handling in Cocos2D 3.x(三)
2015-11-02 09:02
309 查看
取得触摸位置
最有趣的部分是触摸的位置.接下来我们将使用触摸位置在玩家每次点击的屏幕位置上添加精灵.为了完成这项功能我们需要修改touchBegan的实现,替换旧的代码如下:
该实现相当直截了当.最有趣的部分是取得实际触摸的位置.locationInNode方法将触摸的OpenGL视图坐标转换为作为一个参数传递给该方法的Node内的坐标.(在这个例子中,因为我们需要知道屏幕触摸实际在MainScene中的位置).
一旦我们取得了触摸位置,我们简单创建一个新的CCSprite节点并且将它添加到MainScene中去.其中”hero.png”图片资源是你在一开始下载的starter project中的一部分.
一旦你运行项目,你应该能满屏幕放置MGWU英雄们.
![](http://img.blog.csdn.net/20151102090053069)
现在你已经对基础非常熟悉了,我们将进一步观察触摸生命周期以及你如何在你的游戏中创建复杂的触摸处理.
最有趣的部分是触摸的位置.接下来我们将使用触摸位置在玩家每次点击的屏幕位置上添加精灵.为了完成这项功能我们需要修改touchBegan的实现,替换旧的代码如下:
- (void)touchBegan:(UITouch *)touch withEvent:(UIEvent *)event { // we want to know the location of our touch in this scene CGPoint touchLocation = [touch locationInNode:self]; // create a 'hero' sprite CCSprite *hero = [CCSprite spriteWithImageNamed:@"hero.png"]; [self addChild:hero]; // place the sprite at the touch location hero.position = touchLocation; }
该实现相当直截了当.最有趣的部分是取得实际触摸的位置.locationInNode方法将触摸的OpenGL视图坐标转换为作为一个参数传递给该方法的Node内的坐标.(在这个例子中,因为我们需要知道屏幕触摸实际在MainScene中的位置).
一旦我们取得了触摸位置,我们简单创建一个新的CCSprite节点并且将它添加到MainScene中去.其中”hero.png”图片资源是你在一开始下载的starter project中的一部分.
一旦你运行项目,你应该能满屏幕放置MGWU英雄们.
现在你已经对基础非常熟悉了,我们将进一步观察触摸生命周期以及你如何在你的游戏中创建复杂的触摸处理.
相关文章推荐
- Touch Handling in Cocos2D 3.x(三)
- 关于Cocos2dx-JS在iOS8以上系统调用OpenGL进入后台时崩溃的解决办法
- Touch Handling in Cocos2D 3.x(二)
- Touch Handling in Cocos2D 3.x(二)
- Touch Handling in Cocos2D 3.x(二)
- Touch Handling in Cocos2D 3.x(一)
- Touch Handling in Cocos2D 3.x(一)
- Touch Handling in Cocos2D 3.x(一)
- cocos2d-x带有自定义button响应事件的messagebox
- cocos2dx lua 学习小坑整理
- cocos2dx 3.x 事件分发机制
- cocos2d-x 3.x取消dumpCachedTextureInfo代之以getCachedTextureInfo
- cocos2d-x 3.x取消dumpCachedTextureInfo代之以getCachedTextureInfo
- 【cocos2d-x3.2游戏开发】 lua 类, 继承, 面向对象
- 拇指接龙游戏升级记录02(Cocos2d-x 3.8.1集成ShareSDK遇到的问题)
- Cocos2D v3.x中关于重叠触摸层优先级的问题
- Cocos2D v3.x中关于重叠触摸层优先级的问题
- Cocos2D v3.x中关于重叠触摸层优先级的问题
- cocos2d-js笔记
- Cocos2d-x 3.X, IOS版添加广点通广告平台