Android定时器示例

Android定时器示例,android,timer,andengine,counter,Android,Timer,Andengine,Counter,我正在通过安卓开发一款游戏。在我的游戏场景中有一个玩家。当玩家通过终点线800,0时,游戏将结束。所以我想向现场的用户展示每一秒。最后,我想展示一下到比赛结束还有多少时间。 我该怎么做 我试过了,但没用: TimerHandler timerHandler = new TimerHandler(0.1f, true, new ITimerCallback(){ @Override public void onTimePassed(TimerHandl

我正在通过安卓开发一款游戏。在我的游戏场景中有一个玩家。当玩家通过终点线800,0时,游戏将结束。所以我想向现场的用户展示每一秒。最后,我想展示一下到比赛结束还有多少时间。 我该怎么做

我试过了,但没用:

TimerHandler timerHandler = new TimerHandler(0.1f, true, new ITimerCallback(){

           @Override
           public void onTimePassed(TimerHandler pTimerHandler) {
              time.setText(""+pTimerHandler.getTimerSeconds());
           }
       });
registerUpdateHandler(timerHandler);

getTimerSeconds将告诉您TimerHandler的持续时间

你想用

getTimerSecondsElapsed()

相反。它告诉你几秒钟过去了。A会说api不是非常清晰,但TimerHander类本身非常简单。我通过查看org.andengine.engine.handler.timer.TimerHandler的代码得到了这个答案。您可以看到onUpdate函数中发生了什么。

已解决:问题发生在创建文本对象时。一定是这样的:

time = new Text(150, 400, resourcesManager.font, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", vbom);

我的意思是你必须设置它的默认值。因此,默认值是它可以显示的最大字符数

我该怎么做?可能需要一些代码。你已经试过什么了?我想用秒或毫秒来显示经过的时间GetTimerSecondseLapsedok我试过这样做,但新的问题是使用以下行:time.setText+pTimerHandler.getTimerSecondsElapsed;当我尝试将一个值设置为时间变量时,出现了一个错误occours:LogCat:s29.postimg.org/4422hhnhj/Capture.pngOK我这样尝试过,但新的问题是使用以下行:time.setText+pTimerHandler.getTimerSecondsElapsed;当我尝试将一个值设置为时间变量时,一个错误occours:LogCat:GetTimerSecondsElapsed可能正在创建一个字符串,该字符串的字符数超过了文本字段可以显示的字符数,因此引发了错误。只需对字符串进行预处理,以确保它不会太长。当引擎文本字段必须显示额外字符时,它们不喜欢这样。但简单的回答是,在某种程度上,字符串是不可接受的。