シーンを作成し、メインレイヤーをシーンに追加し、ヘッドアップディスプレイ(HUD)のメインレイヤーに別のレイヤーを追加しています。次に、CCDirector pushSceneメソッドを使用して、メイン/ハッドレイヤーを持つ2番目のシーンを呼び出します。私の問題は、popSceneを使用して最初のシーンに戻った後、2番目のシーンのHUDレイヤーがまだアクティブにタッチを受信して処理していることです。self.isTouchEnabled=NO;を使用してみました。popSceneを呼び出す前にHUDで確認しましたが、効果はありません。
質問する
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 に答える