cocos2d(-iphone v2.0) プラットフォーマー/実行中のゲームにチュートリアル モードを実装しています。ユーザーがチュートリアル モードになっている場合、ゲームを一時停止して指示を出す必要があります。ゲームでは、すべてのアニメーションを停止し、いくつかの入力を順番にユーザーに提供する必要があるポイントがあり、互いに上書きします (たとえば、1 秒間隔で)。
ゲーム レイヤー内の必要な時点で、[[CCDirector sharedDirector]stopAnimation]
すべてのアニメーションを停止する を呼び出します。ここで、1 秒間隔で 2 つの連続した呼び出しを呼び出したいと考えています。アニメーションが停止しているため、更新呼び出しがありません。したがって、以下に示すように NSTimer を使用しようとします。
-(void)update
{
//...
[[CCDirector sharedDirector]stopAnimation];
//...
[self showFirstTutorialInstruction];
NSTimer *timer = [[NSTimer scheduledTimerWithTimeInterval:1.0
target:self
selector:@selector(showNextTutorialInstruction)
userInfo:nil
repeats:NO]retain];
//...
}
-(void)ccTouchBegan(...)
{
//...
[CCDirector sharedDirector]startAnimation];
//...
}
アニメーションが停止し、タイマー関数が呼び出されますが、セレクターの 2 番目の命令は、アニメーションを再開するまで表示領域に表示されません。showNextTutorialInstruction
2 番目の命令が呼び出されたらすぐに表示するにはどうすればよいですか? レイヤーへのアクセスを強制しようとしましたが、うまくいきません。