我正在尝试在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());
}井。一切似乎都在运行,但如果第二次生命或第三次生命被耗尽了呢?有人能在这方面给我一些建议吗?提前谢谢你。
发布于 2019-01-02 04:48:46
不太清楚你想要什么,但如果你的目标是每10分钟增加一次生命,我可以推荐你下一个逻辑。只需在render方法中计算游戏时间。
gameTime += dt;
if (gameTime > 600000) {
life ++;
gameTime = 0;
} else
// smth
}在这里,您不需要在每次渲染调用时调用系统TimeUtils.milis
https://stackoverflow.com/questions/53987040
复制相似问题