在libgdx中实现类似于“ Candy Crush”的生命计数器

时间:2018-12-31 11:39:26

标签: java android libgdx

我正在尝试在libgdx中实现实时倒计时。

我知道我需要将日期等保存在sharedprefs中,并且我已经在接口中编写了getter-setter。我正在努力使算法全神贯注,但是到目前为止,我仍然没有成功。

因此,当用户按下播放键时:

Date date = new Date(TimeUtils.millis());

editor.setDate("date", date);

设置第一个日期,然后:

Date newDate = new Date(TimeUtils.millis());

newDate = date + 600000; //10 minutes in miliseconds

现在处于渲染状态:

if(newDate - TimeUtils.milis()<=0) {        
    life++;
}  else {
    label.setText(""+newDate-TimeUtils.milis());
}

好吧。一切似乎都在起作用,但是如果度过第二或第三次生该怎么办?谁能给我一些指导。预先谢谢你。

1 个答案:

答案 0 :(得分:0)

目前尚不清楚您想要什么,但是如果您的目标是每10分钟增加一次生命,那么我可以向您推荐下一个逻辑。只需用渲染方法计算游戏时间即可。

gameTime += dt;
if (gameTime > 600000) {
   life ++;
   gameTime = 0;
}   else
   // smth
}

您无需在每次渲染调用时调用系统TimeUtils.milis