[iphone][cocos2D]layer 屏蔽底层layer对touch事件的响应
2012-11-01 15:09
579 查看
[iphone][cocos2D]layer 屏蔽底层layer对touch事件的响应
PopUpLayer [弹出的layer: 只让该层响应touch事件]关键代码如下
PopUpLayer.m中
-(void) registerWithTouchDispatcher
{
[[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:INT32_MIN + 1 swallowsTouches:YES];
}
/**
Return YES to claim the touch.
@since v0.8
*/
- (BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event
{
BOOL resoult = YES;
CGPoint touchLocation = [touch locationInView: [touch view]];
touchLocation = [[CCDirector sharedDirector] convertToGL: touchLocation];
for( CCMenuItem *child in [_foldMenu children] ) {
CGPoint local = [child convertToNodeSpace:touchLocation];
CGRect r = [child rect];
r.origin = CGPointZero;
if( CGRectContainsPoint( r, local ) )
resoult = NO;
}
NSLog(@"resoult = %d",resoult);
return resoult;
//返回yes是表明要取得该touch的权限,即吞噬该touch
//返回NO 则不处理
}
转自:http://hi.baidu.com/hh20040410/item/0adee0cdac7e0926e80f2e6e
相关文章推荐
- cocos2d-x中关于touch事件的响应
- cocos2d ccLayer响应触摸事件方法:CCStandardTouchDelegate 与 CCTargetedTouchDelegate
- Cocos2d-iphone 为sprite添加双击的事件响应
- cocos2d ccLayer响应触摸事件方法:CCStandardTouchDelegate 与 CCTargetedTouchDelegate
- cocos2d ccLayer响应触摸事件方法:CCStandardTouchDelegate 与 CCTargetedTouchDelegate
- cocos2d-x中关于touch事件的响应
- cocos2d-x 3.x 关于cocostudio的UI将事件吃掉,场景Layer无法响应手势的问题解决方法
- Cocos2d-iphone 为sprite添加双击的事件响应
- Cocos2d-iphone 为sprite添加双击的事件响应
- cocos2d-屏蔽touch事件
- 如何屏蔽父view的touch事件到,并且响应self的touch
- 【cocos2d-x IOS游戏开发-城市跑酷14】重写触屏[Touch]事件处理机制,响应玩家操作
- cocos2d-x 屏蔽场景的Touch事件
- cocos2d-x中关于touch事件的响应
- 如何让UIScrollView里面的UIImageView响应touch事件
- cocos2d-x 3.0 touch事件官方解释
- 关于UIScrollview不能响应touch事件的解决办法
- Sencha Touch 解决 button tap事件 按下和弹起 两次响应
- cocos2d-x Touch事件处理机制
- Android 编程下 Touch 事件的分发和响应机制 分类: Android 2015-07-02 17:35 12人阅读 评论(0) 收藏