0

ゲームに一時停止機能を含めようとしています。これまでのところ、私のメソッド (ゲームが一時停止されているかどうかを伝える BOOL が組み込まれているなど) を実行pauseする[CCDirector sharedDirector]と、 で実行するだけで十分です。pauseGame

ただし、デバイスのホーム画面に戻ると、アプリケーション デリゲートが自動的に実行pauseresumeれ、sharedDirector.

理想的には、アクティブなシーン/レイヤーにアクセスして、独自の一時停止メソッドを実行できるようにしたいと考えています。

1) 現在のシーンが自分のゲーム シーンかどうかを確認する 2) ゲーム シーンの一時停止プロパティにアクセスし、pauseGame メソッドを実行する

どんな助けでも感謝します。ありがとう

4

2 に答える 2

0

走るシーンは[CCDirector sharedDirector].runningScene

[シーンのpauseSchedulerAndActions]を呼び出す場合; 現在のシーンでは、ホーム画面を前後に移動しても再開されません。

階層内のすべてのノードを一時停止する必要がある場合は、CCNode を拡張する方法を次に示します。

-(void)recursivePauseSchedulerAndActions {
    [self pauseSchedulerAndActions];
    CCNode *child;
    CCARRAY_FOREACH(children_, child) {
        [child recursivePauseSchedulerAndActions];
    }
}
-(void)recursiveResumeSchedulerAndActions {
    [self resumeSchedulerAndActions];
    CCNode *child;
    CCARRAY_FOREACH(children_, child) {
        [child recursiveResumeSchedulerAndActions];
    }
}
于 2012-06-11T18:33:26.033 に答える