2

ゲーム オーバー シーンが数秒間表示されないようにして、実際にどのように死亡したかを確認できるようにします。しばらく前にこれをやったのを覚えていますが、一生思い出せません。

        GameOverScene *gameOverScene = [GameOverScene node];
        [gameOverScene.layer.label setString:@"You Lose"];
        [[CCDirector sharedDirector] replaceScene:gameOverScene];         

心から感謝する。

4

3 に答える 3

1

NSObject を使用[self performSelector:@selector(gameOver) withObject:nil afterDelay:5];して、新しいメソッド GameOver でシーンを置き換えます。

- (void)gameOver
{
    GameOverScene *gameOverScene = [GameOverScene node];
    [gameOverScene.layer.label setString:@"You Lose"];
    [[CCDirector sharedDirector] replaceScene:gameOverScene];
}
于 2012-07-26T09:02:00.250 に答える
0

解決策は、アクションを実行するようにセレクターをスケジュールすることです。

[[CCScheduler sharedScheduler] scheduleSelector:@selector(myMethod:) forTarget:self interval:2.0f paused:[[CCDirector sharedDirector] isPaused]];

そしてあなたのメソッドの実装:

- (void)myMethod:(ccTime)dt
{
    [[CCScheduler sharedScheduler] unscheduleSelector:_cmd forTarget:self];

    //your actions here
    GameOverScene *gameOverScene = [GameOverScene node];
    [gameOverScene.layer.label setString:@"You Lose"];
    [[CCDirector sharedDirector] replaceScene:gameOverScene];
}

これが役立つことを願っています。

于 2012-07-26T09:04:49.017 に答える
0

正確に必要なものが得られない。まだこれらの2つを提案しています..試してください

[self performSelector:@selector(showGameOverScene) withObject:nil afterDelay:2.0f];

時間に置き換える:

[[CCDirector sharedDirector] replaceScene:[CCTransitionFade transitionWithDuration:1.0 scene:[GameOverScene scene] withColor:ccWHITE]];
于 2012-07-26T09:05:05.603 に答える