cocos2D pushScene popScene

时间:2012-09-18 03:21:34

标签: iphone ios cocos2d-iphone

我正在创建一个场景,在场景中添加一个主图层,并在主图层中添加另一个图层以进行抬头显示(HUD)。然后我使用CCDirector pushScene方法调用带有main / hud图层的第二个场景。我的问题是在使用popScene返回第一个场景之后,第二个场景中的HUD层仍在主动接收和处理触摸。我尝试过使用self.isTouchEnabled = NO;在我调用popScene之前在HUD中,但它没有效果。

1 个答案:

答案 0 :(得分:-1)

我想通了,我需要使用onExit和onEnter方法来禁用和启用每个图层的触摸处理。这是代码的样子

-(void)onEnter
{
    [super onEnter];


    [[CCTouchDispatcher sharedDispatcher] removeDelegate: self];
    [[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:0 swallowsTouches:YES];
    self.isTouchEnabled = YES;
}


- (void) onExit {

    [[CCTouchDispatcher sharedDispatcher] removeDelegate: self];
    [super onExit];
}