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