2

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

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 に答える