关于cocos2d-x的游戏。当我按下主页按钮退出游戏时。下一次,我怎样才能让游戏重新开始,但最后一个退出场景不会跟着
答案 0 :(得分:0)
理想情况下,在applicationWillEnterForeground
中,您应该简单地用一个新的实例替换场景,例如如果你正在运行的场景类被称为GameLevelScene
,你应该简单地告诉CCDirector
用它的类中的新实例替换正在运行的场景。例如:
CCDirector::sharedDirector()->replaceScene(GameLevelScene::create());
但是当我做类似的事情暂停我的游戏从后台恢复时,我注意到它不是很有用(它应该是,也许这是cocos2d-x的一些问题)。因此,作为一种解决方法,我创建了一个在开始时延迟时间为零的序列,然后调用我的游戏的暂停功能。我猜游戏从后台恢复后需要一个刻度来处理这个。对你来说,如果上述方法不起作用,试试这个:
someNode->runAction(
CCSequence::create(CCDelayTime::create(0.0f),
CCCallFuncO::create(CCDirector::sharedDirector(),
callfuncO_selector(CCDirector::replaceScene),
GameLevelScene::create()),
NULL));
someNode
可以是游戏中生活的任何节点,即它尚未被销毁;它必须是一个活着的对象。您可以拥有一个游戏管理器节点,它在游戏过程中始终处于活动状态。游戏管理员节点可以对此类游戏管理问题负责。