每隔一定时间间隔保存游戏的正确方法(例如:保存玩家的等级,获得的经验,当前的HP / MP等),以便
即使用户不正确地退出游戏,他/她也可以恢复到相同的游戏条件?
这是否合适?
float _interval;
bool GameMaster::init() {
if(!Layer::init()) {
return false;
}
// Run every frame
_interval = 0;
this->scheduleUpdate();
}
void GameMaster::update(float dt) {
_interval += dt;
if(_interval > 10.0) {
// Runs every 10 sec
saveGame();
// Restart the counter
_interval = 0.0;
}
}
答案 0 :(得分:0)
使用调度程序可能更好一点,例如:
float _interval;
bool GameMaster::init() {
if(!Layer::init()) {
return false;
}
Scheduler* scheduler = Director::getInstance()->getScheduler();
scheduler->schedule(schedule_selector(GameMaster::saveGame), this,
_interval, true);
}
void GameMaster::saveGame(float deltaTime) {
saveGame();
}
您可以找到计划程序的文档here。