Touch Handling in Cocos2D 3.x(六)
来源:互联网 发布:javo软件 编辑:程序博客网 时间:2024/04/28 07:36
使英雄变成可触碰的对象
这是另一个非常有用的特性.很多用户需要捡起已经存在的英雄然后满屏幕移动它们.让我们按以下步骤实现该功能:
- 如果用户触摸屏幕空白位置,一个新的英雄将被创建
- 如果用户触摸一个已经存在的英雄,不会有新英雄被创建,相反Ta可以移动已存在的那个英雄
为了实现这些,我们需要创建一个CCSprite的子类.前进去创建一个名为CCDragSprite的类,该类继承自CCSprite:
在CCDragSprite.h中添加以下一行导入Cocos2d的头文件:
#import "cocos2d.h"
现在我们可以在CCDragSprite.m中关注实现部分了!我想你保证它将惊人的简单.我们需要做如下步骤:
- 一旦CCDragSprite出现在屏幕就打开用户交互选项
- 让CCDragSprite跟随着触摸而移动
在CCDragSprite.m中的@implementation和@end之间添加如下代码:
- (void)onEnter { self.userInteractionEnabled = TRUE;}- (void)touchBegan:(UITouch *)touch withEvent:(UIEvent *)event{}- (void)touchMoved:(UITouch *)touch withEvent:(UIEvent *)event{ // we want to know the location of our touch in this scene CGPoint touchLocation = [touch locationInNode:self.parent]; self.position = touchLocation;}
现在你应该大致了解上面的代码了.当我们的CCDragSprite进入屏幕时,我们打开它的交互选项.我们需要增加一个touchBegan方法的空白实现,这是为了让Cocos2d知道我们想要认领该触摸(否则下一层的responder将会接收到这次触摸).
0 0
- 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(五)
- Touch Handling in Cocos2D 3.x(七)
- cocos2d-x touch事件
- cocos2d-x touch事件
- cocos2d-x touch事件
- cocos2d-x touch
- Cocos2d-x---Touch事件
- Cocos2d-x Touch事件处理
- cocos2d-x Touch 移动精灵
- Cocos2D-X 之 Touch事件
- Cocos2d-x Touch 拖动精灵
- cocos2d-x注册touch事件
- Cocos2d-x之Touch事件
- ListIterator接口 源代码
- Ubuntu 安装OpenCV-2.4.11
- 正则表达式的学习(用进废退)
- 帅气的HYC切蛋糕
- 利用C#线程窗口调试多线程程序
- Touch Handling in Cocos2D 3.x(六)
- css3值2d旋转
- css3之3d旋转
- 防火墙配置
- "XX cannot be resolved to a type "eclipse报错及解决说明
- C#嵌套类型的研究
- 多线程的那点儿事(之多线程调试)
- linux常用命令mkdir,cd,pwd,rmdir,cp,mv,rm,
- Android屏幕适配全攻略(最权威的官方适配指导)