动态改变AndEngine的得分与其他游戏一样

时间:2012-01-12 06:10:44

标签: android andengine

我不知道我要找的确切术语。 我正在开发一款游戏,我正在其他游戏场景中展示得分。我想改变分数(实际上在以前的分数中添加当前分数),就像在其他游戏中一样一个接一个地改变。 例如,如果以前的得分为10,当前得分为10,那么我想用速度10 11 12 13 14 15 ...这样添加。当达到20时,将播放声音,如tiiiinnnnnnnn。我想逐个添加。 我希望我解决了我的问题请提供解决方案。 感谢

2 个答案:

答案 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));                            
        }
    }));
}