2

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

4

1 回答 1

-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];
}
于 2012-09-18T03:41:45.673 回答