I want the game over scene to not show up for a few seconds so you can actually see how you died. I remember doing this a while back but I can not remember for the life of me.
我希望场景中的游戏不会显示几秒钟,这样你就可以看到你是如何死的。我记得有一段时间这样做,但我不记得我的生活。
GameOverScene *gameOverScene = [GameOverScene node];
[gameOverScene.layer.label setString:@"You Lose"];
[[CCDirector sharedDirector] replaceScene:gameOverScene];
Really appreciate it.
真的很感激。
3 个解决方案
#1
0
Not getting what exactly you need. Still suggesting these two..try
没有得到你需要的东西。仍在暗示这两个......
[self performSelector:@selector(showGameOverScene) withObject:nil afterDelay:2.0f];
Replace with time:
替换为时间:
[[CCDirector sharedDirector] replaceScene:[CCTransitionFade transitionWithDuration:1.0 scene:[GameOverScene scene] withColor:ccWHITE]];
#2
1
Use NSObject's [self performSelector:@selector(gameOver) withObject:nil afterDelay:5];
and replace the scene in the new method GameOver:
使用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];
}
#3
0
A solution may be to schedule a selector to do your actions:
解决方案可能是安排选择器执行您的操作:
[[CCScheduler sharedScheduler] scheduleSelector:@selector(myMethod:) forTarget:self interval:2.0f paused:[[CCDirector sharedDirector] isPaused]];
And your method implementation:
你的方法实现:
- (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];
}
I hope this helps.
我希望这有帮助。
#1
0
Not getting what exactly you need. Still suggesting these two..try
没有得到你需要的东西。仍在暗示这两个......
[self performSelector:@selector(showGameOverScene) withObject:nil afterDelay:2.0f];
Replace with time:
替换为时间:
[[CCDirector sharedDirector] replaceScene:[CCTransitionFade transitionWithDuration:1.0 scene:[GameOverScene scene] withColor:ccWHITE]];
#2
1
Use NSObject's [self performSelector:@selector(gameOver) withObject:nil afterDelay:5];
and replace the scene in the new method GameOver:
使用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];
}
#3
0
A solution may be to schedule a selector to do your actions:
解决方案可能是安排选择器执行您的操作:
[[CCScheduler sharedScheduler] scheduleSelector:@selector(myMethod:) forTarget:self interval:2.0f paused:[[CCDirector sharedDirector] isPaused]];
And your method implementation:
你的方法实现:
- (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];
}
I hope this helps.
我希望这有帮助。