【问题标题】:Android Timer ExampleAndroid 定时器示例
【发布时间】:2013-12-12 21:02:42
【问题描述】:

我正在通过 Andengine 为 Android 开发一款游戏。我的游戏场景中有一个玩家。当玩家通过终点线(800,0)时,游戏将结束。所以我想在现场向用户展示每一秒。最后,我想显示距离完成还有多少时间。 我怎样才能做到这一点?

我试过了,但没有用:

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

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

【问题讨论】:

  • How can I do that? 可能有一些代码。你已经尝试过什么?
  • 我想以秒或毫秒为单位显示经过的时间
  • getTimerSecondsElapsed()
  • 好的我试过这样但新问题是使用这一行:time.setText(""+pTimerHandler.getTimerSecondsElapsed());当我尝试将值设置为时间变量时,出现错误:LogCat: s29.postimg.org/4422hhnhj/Capture.png

标签: android timer andengine counter


【解决方案1】:

getTimerSeconds 会告诉你 TimerHandler 的持续时间。

你想用

getTimerSecondsElapsed()

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

【讨论】:

  • 好的我试过这样但新问题是使用这一行:time.setText(""+pTimerHandler.getTimerSecondsElapsed());当我尝试为时间变量设置值时,出现错误:LogCat: s29.postimg.org/4422hhnhj/Capture.png
  • GetTimerSecondsElapsed 可能正在创建一个字符串,其字符数超过了您的文本字段可以显示的字符数,因此引发了错误。只需预处理您的字符串以确保它不会太长。 Andengine TextFields 不喜欢它必须显示额外的字符。但简短的回答是,在某种程度上,该字符串是不可接受的。
【解决方案2】:

已解决:创建文本对象时出现问题。应该是这样的:

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

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

【讨论】:

    猜你喜欢
    • 2013-10-02
    • 1970-01-01
    • 1970-01-01
    • 2011-08-17
    • 1970-01-01
    • 1970-01-01
    • 2012-08-22
    • 2012-01-10
    相关资源
    最近更新 更多