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