Android与cocos2dx中的定时器
来源:互联网 发布:大数据价值密度 编辑:程序博客网 时间:2024/04/28 01:37
Android与cocos2dx中的定时器
在做应用中我们经常会用到定时器的东西,比如注册时为了防止用户的频繁点击的倒计时操作......
一.Android中的倒计时操作
1.使用Timer类
Timer timer =new Timer(); timer.schedule(new TimerTask() { @Override public void run() { Log.i("lz","TimerTask do"); } },1000);timer出入参数timertask,时间,调用此方法,会在间隔1000毫秒后执行timertask的操作,这个相当于延时操作thread + handler也可以做。
下面是重复操作:
先定义全局的变量
int timerLen = 60000;Timer timer =new Timer();然后:
timer.schedule(new TimerTask() { @Override public void run() {// button.setText("time" + timerLen/1000); timerLen = timerLen -1000; Log.i("lz","当前时间="+timerLen); if(timerLen == 0){ timer.cancel(); } } },1000,1000);这里的schedule(timertask,delay,period),第一个参数就是执行的task,第二个参数是执行时的延时时间,第三个时间是间隔执行时间,我这里
是间隔1000毫秒执行一次,可以使用timer的cancel关闭这个循环操作
二.使用系统的CountDownTimer类
class TimeCount extends CountDownTimer { // 参数依次为总时长,和计时的时间间隔 public TimeCount(long millisInFuture, long countDownInterval) { super(millisInFuture, countDownInterval); } // 计时完毕时触发 @Override public void onFinish() { button.setText("重新验证"); } // 计时过程显示 @Override public void onTick(long millisUntilFinished) { button.setClickable(false); button.setText(millisUntilFinished / 1000 + "秒"); } }我们可以继承这个类重写它的方法,在方法回调我们需要做的操作
接下来调用开始执行的操作
TimeCount c= new TimeCount(60000,1000); c.start();
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
下面是cocos2dx的定时器学习,Android学习着忽略
cocos2dx中的定时操作非常好用,且经常用到,比如延时执行某个操作......
local timerId=nillocal function callback(dt) print("callback 距离上次所经过的时间=" .. dt)CCDirector:sharedDirector():getScheduler():unscheduleScriptEntry(timerId)endtimerId= CCDirector:sharedDirector():getScheduler():scheduleScriptFunc(callback, 3, false)
使用scheduleScriptFunc注册函数执行
callback: 回调函数,Scheduler会传递给回调函数一个参数dt,表示距离上次回调所经过的时间
delay:每次调用回调函数的时间间隔
pause: 是否停住,一般设为false就行,否则定时器停住不执行
unscheduleScriptFunc:通过事件的taskid取消这个定时器
我们也可以像timer一样定义执行的次数或者时间,这里就不讲了,和timer的操作一毛一样。是不是和安卓中的timer类非常的像呢!
阅读全文
1 0
- Android与cocos2dx中的定时器
- cocos2dx 定时器
- Cocos2dx 定时器
- cocos2dx 定时器
- cocos2dx 定时器
- Android中的定时器AlarmManager
- Android中的定时器AlarmManager
- Android中的定时器AlarmManager
- Android中的定时器AlarmManager
- Android中的定时器AlarmManager
- Android中的定时器AlarmManager
- Android中的定时器AlarmManager
- Android中的定时器AlarmManager
- Android中的定时器AlarmManager
- Android中的定时器AlarmManager
- Android中的定时器AlarmManager
- Android中的定时器AlarmManager
- android中的定时器
- B1048. 数字加密(20)
- Android--Native与html5交互
- 移动零
- java.lang.ClassCastException: android.os.BinderProxy cannot be cast to ………………
- android SystemService 列表
- Android与cocos2dx中的定时器
- 快速幂取模算法
- 左填充
- Spring 是如何简化 Java 开发的?
- HTML
- java设计模式—单例设计模式(Singleton Pattern)完全解析
- Tensorflow的Batch Normalization
- 分布式事务--CAP
- JavaScript-数组