Iphone Cocos2d,我忘了延迟场景的命令是什么
我希望游戏结束的场景在几秒钟内不会出现,这样你就可以看到你是如何死去的。我记得不久前做过这件事,但我一辈子都记不起来了Iphone Cocos2d,我忘了延迟场景的命令是什么,iphone,objective-c,ios,xcode4,cocos2d-iphone,Iphone,Objective C,Ios,Xcode4,Cocos2d Iphone,我希望游戏结束的场景在几秒钟内不会出现,这样你就可以看到你是如何死去的。我记得不久前做过这件事,但我一辈子都记不起来了 GameOverScene *gameOverScene = [GameOverScene node]; [gameOverScene.layer.label setString:@"You Lose"]; [[CCDirector sharedDirector] replaceScene:gameOverScene];
GameOverScene *gameOverScene = [GameOverScene node];
[gameOverScene.layer.label setString:@"You Lose"];
[[CCDirector sharedDirector] replaceScene:gameOverScene];
非常感谢 使用NSObject的
[自执行选择器:@selector(gameOver)with object:nil afterDelay:5]编码>并在新方法GameOver中替换场景:
- (void)gameOver
{
GameOverScene *gameOverScene = [GameOverScene node];
[gameOverScene.layer.label setString:@"You Lose"];
[[CCDirector sharedDirector] replaceScene:gameOverScene];
}
解决方案可能是安排一个选择器来执行您的操作:
[[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];
}
我希望这能有所帮助。没有得到你真正需要的东西。还是建议这两个……试试看
[self performSelector:@selector(showGameOverScene) withObject:nil afterDelay:2.0f];
以时间代替:
[[CCDirector sharedDirector] replaceScene:[CCTransitionFade transitionWithDuration:1.0 scene:[GameOverScene scene] withColor:ccWHITE]];
等待是[self-performSelector:@selector(gameOver)with object:nil afterDelay:5];实际的命令?它是来自NSObject的一个方法,所以每个对象都有它。我认为如果这不是一个无效的方法,它会工作,但我相信你在正确的轨道上。这似乎会工作,但我得到的错误+场景不是found@user1543821嗯,好的,用[GameOverScene节点]代替[GameOverScene场景]。