[iphone][cocos2D]layer 屏蔽底层layer对touch事件的响应

[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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值