[cocos2d] 谁摸了我一下----触摸事件处理
来源:互联网 发布:淘宝店铺营销推广内容 编辑:程序博客网 时间:2024/06/05 01:25
1. 设置接受触摸事件,可在init方法里面写上
[self setTouchEnabled: YES];
旧版为self.isTouchEnabled = YES;
xcode会报Deprecations ‘setIsTouchEnabled:’ is deprecated waring
2. 覆盖方法
- (void) registerWithTouchDispatcher{[[[CCDirector shareDirector] touchDispatcher] addTargetedDelegate:self priority:INT32_MIN+1 swallowsTouches:YES];}
3. 捕获触摸
-(BOOL)ccTouchBegan:(UITouch *)touches withEvent:(UIEvent *)event{//触摸开始时候做什么}-(void)ccTouchMoved:(UITouch *)touches withEvent:(UIEvent *)event{}-(void)ccTouchEnded:(UITouch *)touches withEvent:(UIEvent *)event{//触摸结束时候做什么}
4. 获取触摸位置
-(BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event{//获得触摸坐标(iphone UI)CGPoint touchLocation = [touch locationInView:[touch view]];//将坐标转变成openGL的格式touchLocation = [[CCDirector shareDirector]converToGL:touchLocation;/**PS:iphone的坐标原点是左上角,x往右增加,y往下增加*openGL的坐标原点是左下角,x往右增加,y往上增加*///获得sprite,spriteTag在前面enum结构中定义,以区别不同的tag。所以下面需要判断其是否为CCSprite类,以防判断错误
CCNode *node = [self getChildByTag:spriteTag];//判断是否为CCSprite类!!!NSAssert([node isKindOfClass:[[CCSpite class]], @"not a sprite");//类型转换CCSprite *sprite = (CCSprite*)node;//判断触摸位置是否为spriteBOOL isTouchSprite = CGRectContainsPoint([sprite boundingBox], touchLocation);if (isTouchSprite){//do sth}//若触摸到sprite则把触摸事件吞了(=,= 即其它CCLayer不再响应该触摸事件)return isTouchSprite;}
先写到这里,遇到其他再补充。
0 0
- [cocos2d] 谁摸了我一下----触摸事件处理
- Cocos2d-x事件交互处理(触摸处理)
- cocos2d-x 触摸事件处理机制
- Cocos2d-x 3.0 触摸事件处理机制
- Cocos2d-x 3.0 触摸事件处理机制
- cocos2d-x (四):触摸事件处理机制
- cocos2d 触摸事件
- cocos2d 触摸事件跟踪
- cocos2d - 触摸事件
- cocos2d接收触摸事件
- cocos2d-lua 触摸事件
- Cocos2d-JS 触摸事件
- Cocos2d-x游戏开发之处理单点触摸事件
- Cocos2d-x 3.0 新特性体验-触摸事件处理机制
- cocos2d-x 图层触摸事件处理onTouch-----沈大海
- Android:处理触摸事件
- andoid触摸事件处理
- UITouch 触摸事件处理
- QT学习点滴记录(四)
- C++ explicit构造函数----禁止隐式格式转换
- js笔记之Math random()、ceil()、floor()、round()
- Explicit——谨慎定义隐式类型转换函数
- UNIX基本命令-目录及文件操作
- [cocos2d] 谁摸了我一下----触摸事件处理
- [cocos2d] 利用texture atlases生成动画
- [cocos2d] 调用动画方法
- Hibernate实体类对象生命周期的3种状态
- [cocos2d demo]新科娘收集水表
- [cocos2d]关于CCSprite的若干问题与误区
- [cocos2d] 显示状态与文字
- [cocos2d]cocos2d 2.1与ios 6.0
- [cocos2d]调用sqlite3数据库