2012-01-12 31 views
2

我不知道我正在尋找的確切名詞。 我正在開發一款遊戲,並在其他遊戲場景中展示分數。我想改變分數(實際上是在以前的分數中加上當前分數),這種方式和其他遊戲一樣是一個一個地改變的。 例如,如果以前的得分在10和當前得分是10,那麼我想以速度10 11 12 13 14 15 ...這樣的方式顯示它。當達到20時,會發出像tiiiinnnnnnnn一樣的聲音。我想逐個添加。 我希望我解決了我的問題,請提供解決方案。 感謝動態地更改AndEngine中的得分與其他遊戲一樣

回答

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));        
     } 
    })); 
} 
2

試試這,

使用可變文本,你的目的,

ChangeableText textTime = new ChangeableText(int xPosition, int yPosition, Font mFont, "00"); 

然後啓動一個定時器,並給它拖延的速度要改變

現在假設你想改變你的文字

int x = 10 to 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 
+0

非常感謝它的工作。 – 2012-01-20 05:50:49