我正在尝试在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());
}
好吧。一切似乎都在起作用,但是如果度过第二或第三次生该怎么办?谁能给我一些指导。预先谢谢你。
答案 0 :(得分:0)
目前尚不清楚您想要什么,但是如果您的目标是每10分钟增加一次生命,那么我可以向您推荐下一个逻辑。只需用渲染方法计算游戏时间即可。
gameTime += dt;
if (gameTime > 600000) {
life ++;
gameTime = 0;
} else
// smth
}
您无需在每次渲染调用时调用系统TimeUtils.milis