[ IOS-Cocos2d-x 游戏开发之一] -cocos2d-x触摸事件优先级的探究与实践
2013-01-29 16:11
791 查看
cocos2d-x触摸事件优先级的探究与实践
[版本:2.0]
CCTouchDispatcher是管理cocos2d-x中所有Touch事件派发的类,
CCTouchDispatcher中包含了两个CCTouchHandler的列表,
分别存储StandardTouchHandler和 TargetedTouchHandler。
// default implements are used to call script callback if exist (单点)
virtual bool ccTouchBegan(CCTouch *pTouch,
CCEvent *pEvent);
virtual void ccTouchMoved(CCTouch *pTouch,
CCEvent *pEvent);
virtual void ccTouchEnded(CCTouch *pTouch,
CCEvent *pEvent);
virtual void ccTouchCancelled(CCTouch *pTouch,
CCEvent *pEvent);
// default implements are used to call script callback if exist (多点)
virtual void ccTouchesBegan(CCSet *pTouches,
CCEvent *pEvent);
virtual void ccTouchesMoved(CCSet *pTouches,
CCEvent *pEvent);
virtual void ccTouchesEnded(CCSet *pTouches,
CCEvent *pEvent);
virtual void ccTouchesCancelled(CCSet *pTouches,
CCEvent *pEvent);
单点:吞噬 击穿
void
CCTouchDispatcher::addTargetedDelegate(CCTouchDelegate *pDelegate,
int nPriority, bool bSwallowsTouches)
nPriority = 吞噬优先级(例:CCMenu权限为 -128 越小越权限高)
bSwallowsTouches = 击穿 (例:俩个layer时,bSwallowsTouches = true击穿,表示可以同时响应这俩个layer的ccTouchBegan)
关于ccTouchBegan的返回值
true:本层的后续Touch事件可以被触发,并阻挡向后层传递
false:本层的后续Touch事件不能被触发,并向后传递
多点:优先级
1:addChild(CCNode *child,
int zOrder) 以 zOrder 做标准
2:同等zOrder下 ,以添加前后顺序,越后越高
[版本:2.0]
CCTouchDispatcher是管理cocos2d-x中所有Touch事件派发的类,
CCTouchDispatcher中包含了两个CCTouchHandler的列表,
分别存储StandardTouchHandler和 TargetedTouchHandler。
// default implements are used to call script callback if exist (单点)
virtual bool ccTouchBegan(CCTouch *pTouch,
CCEvent *pEvent);
virtual void ccTouchMoved(CCTouch *pTouch,
CCEvent *pEvent);
virtual void ccTouchEnded(CCTouch *pTouch,
CCEvent *pEvent);
virtual void ccTouchCancelled(CCTouch *pTouch,
CCEvent *pEvent);
// default implements are used to call script callback if exist (多点)
virtual void ccTouchesBegan(CCSet *pTouches,
CCEvent *pEvent);
virtual void ccTouchesMoved(CCSet *pTouches,
CCEvent *pEvent);
virtual void ccTouchesEnded(CCSet *pTouches,
CCEvent *pEvent);
virtual void ccTouchesCancelled(CCSet *pTouches,
CCEvent *pEvent);
单点:吞噬 击穿
void
CCTouchDispatcher::addTargetedDelegate(CCTouchDelegate *pDelegate,
int nPriority, bool bSwallowsTouches)
nPriority = 吞噬优先级(例:CCMenu权限为 -128 越小越权限高)
bSwallowsTouches = 击穿 (例:俩个layer时,bSwallowsTouches = true击穿,表示可以同时响应这俩个layer的ccTouchBegan)
关于ccTouchBegan的返回值
true:本层的后续Touch事件可以被触发,并阻挡向后层传递
false:本层的后续Touch事件不能被触发,并向后传递
多点:优先级
1:addChild(CCNode *child,
int zOrder) 以 zOrder 做标准
2:同等zOrder下 ,以添加前后顺序,越后越高
相关文章推荐
- Cocos2d-x:触摸事件优先级的探究与实践
- cocos2d-x触摸事件优先级的探究与实践
- cocos2d-x触摸事件优先级的探究与实践
- cocos2d-x触摸事件优先级的探究与实践
- cocos2d-x触摸事件优先级的探究与实践
- cocos2d-x触摸事件优先级的探究与实践
- 【cocos2d-x 3D游戏开发】1: 2D基础回顾---触摸事件(2.x)
- 【iOS-Cocos2d游戏开发之五】【2】多触点与触屏事件详解(单一监听、事件分发)
- 游戏开发随手记:cocos2d ccLayer响应触摸事件方法
- quick-cocos2d-x游戏开发【10】——触摸捕获事件 cc.NODE_TOUCH_CAPTURE_EVENT
- 基于Cocos2D的IOS游戏开发进阶与实践 —— Stage 2 —— 学习笔记
- 基于Cocos2D的IOS游戏开发进阶与实践 —— Stage 1 —— 学习笔记
- Quick-Cocos2d-x游戏开发触摸捕获事件 cc.NODE_TOUCH_CAPTURE_EVENT
- 【iOS-Cocos2d游戏开发之五】多触点与触屏事件详解(单一监听、事件分发)
- 【iOS-Cocos2d游戏开发之五】多触点与触屏事件详解(单一监听、事件分发)【11月28日更新】
- 【iOS-Cocos2d游戏开发之六】对触屏事件追加讲解,解决无法触发ccTouchMoved事件[重要!]
- 【iOS-cocos2d-X 游戏开发之十】自定义各类模版&触屏事件讲解! 推荐
- cocos2d-x ios游戏开发初认识(八) 触摸事件与碰撞检测
- COCOS2d中添加UIButton不响应触摸事件---iOS开发之最灵异事件之2
- 【iOS-Cocos2d游戏开发之六】对触屏事件追加讲解,解决无法触发ccTouchMoved事件[重要!] 推荐