我想制作一个倒计时器,当在android中执行触摸时返回值(剩余秒数)。问题是我使用andengine,因此触摸事件不能在方法中使用(如果我错了,请纠正我)。
scene.setOnSceneTouchListener(new IOnSceneTouchListener() {
public boolean onSceneTouchEvent(Scene scene, TouchEvent arg1) {
int counterInt = 60;
Timer timer = new Timer();
counterText.setText(""+counterInt);
timer.wait(1000);
counterText.setText(""+(counterInt-1));
timer.wait(1000);
counterText.setText(""+(counterInt-1));
timer.wait(1000);
counterText.setText(""+(counterInt-1));
}
}
假设counterInt的默认数量为60,并且减少秒数。当它显示50个用户触摸屏幕,这意味着激活touchevent arg1,我如何获得具有' 50'?的counterInt的值谢谢......
答案 0 :(得分:1)
使用AndEngine的框架,这是一种更简单的解决方案。我已经为你创建了这个简单的课程:here。创建它的实例,并在场景中注册它:
TimeCounter tc = new TimeCounter();
scene.registerUpdateHandler(tc);
它将从那一刻开始计算。然后,您可以自由地调用tc.getSeconds()
以查找经过的秒数,并从任何常量值中减去它们以模拟倒计时。
您也可以致电reset
重设秒数。
答案 1 :(得分:0)
如果您正在寻找类似的东西,您希望剩余的秒数比使用CountDownTimer
更好。它的onTick()
为您提供计时器启动时剩余的确切时间,并且当倒计时在onFinish()
内完成时您也可以执行任何操作。