我不知道我正在寻找的东西的确切术语。我正在开发一个游戏,我在其他游戏场景中显示分数。我想改变分数(实际上是将当前分数加到以前的分数中),就像在其他游戏中一样,一个接一个地改变。例如,如果之前的分数是10,而现在的分数是10,那么我想用速度10 11 12 13 14 15来显示它。同时添加。当到达20时,将播放类似tiiiinnnnnnnn的声音。我想一个接一个地添加。我希望我的问题清楚了,请提供一个解决方案。谢谢
发布于 2012-02-23 21:28:35
另一种对我有效的方式。
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));
}
}));
}发布于 2012-01-12 21:31:51
尝尝这个,
使用可变文本来实现您的目的,
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 ownhttps://stackoverflow.com/questions/8830875
复制相似问题