本文共 726 字,大约阅读时间需要 2 分钟。
倒计时功能是在做游戏的时候用到的,开始的时候打算通过sleep函数来实现该过程,但是sleep用来计算时间非常的不准确,所以就是用了CountDownTimer这各类来实现该功能,然后是在new一个对象出来,然后gameview类中添加 mc = new MyCount(21000, 1000); mc.start();其中有两个参数,第一个参数代表的是总时间,第二个参数是每个多长时间要执行一次相关操作,然后调用其start方法来启动该对象,
class MyCount extends CountDownTimer { public MyCount(long millisInFuture, long countDownInterval) { super(millisInFuture, countDownInterval); } @Override public void onFinish() { //时间到的时候所要执行的操作 lose =1; invalidate(); } @Override public void onTick(long millisUntilFinished) { //每到一定时间所要执行的操作 shiJian--; invalidate(); } }
我们可以通过对于游戏视图的更新来实现对倒计时的功能,同时要注意的就是时间是每隔一段时间执行一次,所以说第一个数字的显示是在时间过了一秒钟之后才执行的,所以说时间的开始要注意,同时就是如果设置游戏的结束,最好设置在onfinish方法中,如果通过设置参数来实现的话,在计算上比较麻烦同时还会造成不必要的错误,而且此类错误可能会难以发现需要在多次测试之后才发现。
转载地址:http://sytmi.baihongyu.com/