我试图让我的游戏活动有一个计时器。 Timer-Thread需要在我的Activity中没有的其他类中。我试过了这个,但它只显示了我的第一个毫秒而且没有更新。
public class GameTimer implements Runnable {
private double count = 0.00;
@Override
public void run(){
while(true){
try{
Thread.sleep(10);
count += 0.01;
} catch (Exception e){
}
}
}
public String getCountAsString(){
return new DecimalFormat("0.00").format(count);
}
}
在活动中
Thread tf = new Thread(){
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
timerTextView.setText(controller.getGameTimer().getCountAsString());
}
});
}
};
initGameyard();
Thread testThread = new Thread(controller.getGameTimer());
testThread.start();
tf.start();
答案 0 :(得分:0)
您可以将GameView作为参数添加到GameTimer构造函数中,如下所示:
public GameTimer(TextView tv) {
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
try{
Thread.sleep(10);
count += 0.01;
tv.setText(count + "");
} catch (Exception e) {
}
handler.postDelayed(this, 10);
}
}, 10);
}
}