我不知道我要找的确切术语。 我正在开发一款游戏,我正在其他游戏场景中展示得分。我想改变分数(实际上在以前的分数中添加当前分数),就像在其他游戏中一样一个接一个地改变。 例如,如果以前的得分为10,当前得分为10,那么我想用速度10 11 12 13 14 15 ...这样添加。当达到20时,将播放声音,如tiiiinnnnnnnn。我想逐个添加。 我希望我解决了我的问题请提供解决方案。 感谢
答案 0 :(得分:2)
试试这个,
使用可更改的文字,
ChangeableText textTime = new ChangeableText(int xPosition, int yPosition, Font mFont, "00");
然后启动一个计时器并延迟你想要改变的速度
现在假设您要从
更改文字int x = 10到int y = 20
final Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
x++;
textTime.setText(tm);
if(x==y) {
timer.cancel();
}
}
}, 0, 100); // you can change this delay with your own
答案 1 :(得分:1)
另一种适合我的方式。
private TimerHandler timerHandler;
private long startTime = 120000; // 2 minutes for example
private void createTimer() {
final float period = 1; //one second
this.getEngine().registerUpdateHandler(timerHandler = new TimerHandler(period, new ITimerCallback() {
public void onTimePassed(final TimerHandler pTimerHandler) {
timerHandler.reset();
startTime = (long) (startTime - (period * 1000));
int seconds = (int) ((startTime / 1000) % 60);
int minutes = (int) ((startTime / 1000) / 60);
timerText.setText(String.format("%d:%02d", minutes, seconds));
}
}));
}