我正在开发一款适用于Android的Andengine游戏。我的游戏场景中有一名玩家。当玩家通过终点线(800,0)时,游戏将结束。所以我想在场景中向用户显示每一秒钟。最后我想表明过了多长时间才结束。 我怎样才能做到这一点?
我尝试了这个但是没有工作:
TimerHandler timerHandler = new TimerHandler(0.1f, true, new ITimerCallback(){
@Override
public void onTimePassed(TimerHandler pTimerHandler) {
time.setText(""+pTimerHandler.getTimerSeconds());
}
});
registerUpdateHandler(timerHandler);
答案 0 :(得分:0)
getTimerSeconds将告诉您TimerHandler的持续时间。
您想要使用
getTimerSecondsElapsed()
代替。它告诉你经过的秒数。可以说api不是很清楚,但TimerHander类本身非常简单。我通过查看org.andengine.engine.handler.timer.TimerHandler的代码得到了这个答案。你可以在onUpdate()函数中看到了什么。
答案 1 :(得分:0)
解决:创建文本对象时出现问题。一定是这样的:
time = new Text(150, 400, resourcesManager.font, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", vbom);
我的意思是你必须为它设置默认值。所以默认值是它可以显示的最大字符数。!