【LG006.精灵传说】我是定时器
本章来聊聊精灵传说之我是定时器~
木头惯例,先上图:
实现的效果就是一个精灵不断地在跑,不断地跑?你想累死她吗?~
所以,当然要让她休息一下喇~于是...
她每隔2秒钟休息一次...太懒了点吧...
说了这么多,先上代码,再听我解释,主要要解释两样东西:
1. LGame的定时器,LTimer类
2. 钩子函数
代码里有一个LMessage控件,关于它的所有操作,请大家忽略,不要被影响了,它不是本文的研究对象,以后学到控件的时候再一起探讨~
1.定时器。
创建定时器很简单:
LTimer restTimer = new LTimer(2000);
这样就创建了一个每隔两秒执行一次的定时器。
有一点一定要注意,定时器什么时候开始启动?当然是由我们来控制喇。
这样启动: resTimer.start();
OK,很简单吧?
啰嗦一下:
虽说LTimer是定时器,但是它实际上是不会定做执行任务的。
说得实在一点,它只是一个计时器,唯一能做的就是,告诉你是否到时间了。
比如我们在早上8点50分40秒的时候启动了上面创建的定时器,在8点50分42秒或之后,你再去问问这个定时器,它就是告诉你,时间已经到了。
怎么去问它时间到了没呢?
很简单,这样:restTimer.action(现在的时间);
至于现在的时间怎么获得?不是本文讨论的范围咯,其实你可以从代码中发现的~
2.钩子函数。
糟糕,什么是钩子函数?怎么听起来这么复杂~
不怕,你遇到高手了~我写毕业论文的时候有研究了一下下钩子函数的~
专业的解答,请百度一下,小弟只是通俗地说一下~
钩子,顾名思义,就是钩住你,是你身体以外的东西~
比如,一个钩子钩住你的手,那么,你的手抬起来的时候,这个钩子也被抬起来了~
明白了?~好吧,再来~
钩子函数,其实就是一个空函数,比如:
public void onCreate() {
init();
showScreen();
hook(); // 我是钩子
}
这个onCreate函数每次执行的时候都会调用一个hook()函数,其实这个函数什么都没做,这个函数是用来被重写的~
呐,现在明白了吧?~我们只要重写hook函数,就能在onCreate函数执行的时候做一些我们想做的事情~
啰嗦一下:
那,那有没有人想问我,为什么不直接重写onCreate函数:
public void onCreate() {
super.onCreate();
// 在这里做我们想做的事情
}
个人理解的话,这样做有危险,万一有些人,他就是不调用super.onCreate()怎么办?
那样我本身onCreate函数需要做事情就没有完成,这样就会造成程序出问题。
而使用钩子的话,onCreate函数本身要完成的事情一定会被执行的,所以不会出现上面提到的问题~
OK~应该大家都明白了~
3.LGame的Screen的alter函数。
啥?~怎么跑出3来了?·不是只有2个么?~好吧,不管你~
个人理解,alter函数就是一个钩子,每次刷新操作(不太确切,反正就当做是线程每次执行的时候)的时候就会被调用,具体怎么被调用我是不会告诉你的~(因为我自己都没有去研究~嘿嘿)。
我们可以把判断定时器是否到时间的操作放在alter函数里(这个是官方文档里举的一个例子)。
好吧,啰嗦完了~
源码下载:请移步Android-Fans论坛
原文第一次发布于Android-Fans论坛:
http://www.android-fans.net/forum.php?mod=viewthread&tid=1525&page=1&extra=#pid4524
分享到:
相关推荐
【LGame学堂006.精灵传说】我是定时器 源码 文章地址: http://blog.csdn.net/musicvs/article/details/7534424
【LGame学堂005.精灵传说】简单的精灵 源码 文章地址: http://blog.csdn.net/musicvs/article/details/7530136
LG音乐精灵驱动管理软件LG Hi-Fi Plus PC Driver Version 1.0.7z
11. 随机数,集合和定时器 12. 画布开发1Canvas绘图 13. 画布开发2按键和指针事件 14. 案例2 15. RMS编程1基础知识 16. RMS编程2高级知识 17. 案例3 18. 网络编程1Socket编程 19. 案例4聊天室开发 20. 网络编程2UDP...
郭克华-J2ME移动开发实战教学视频(我会全部上传~谢谢大家支持) 全部课程内容: 1. 体系介绍和环境配置 2. 高级界面开发1基本界面和Command 3. 高级界面开发2Command事件和List 4. 高级界面开发3TextBox,Ticker和...
11. 随机数,集合和定时器 12. 画布开发1Canvas绘图 13. 画布开发2按键和指针事件 14. 案例2 15. RMS编程1基础知识 16. RMS编程2高级知识 17. 案例3 18. 网络编程1Socket编程 19. 案例4聊天室开发 20. 网络编程2UDP...
11. 随机数,集合和定时器 12. 画布开发1Canvas绘图 13. 画布开发2按键和指针事件 14. 案例2 15. RMS编程1基础知识 16. RMS编程2高级知识 17. 案例3 18. 网络编程1Socket编程 19. 案例4聊天室开发 20. 网络编程2UDP...
11. 随机数,集合和定时器 12. 画布开发1Canvas绘图 13. 画布开发2按键和指针事件 14. 案例2 15. RMS编程1基础知识 16. RMS编程2高级知识 17. 案例3 18. 网络编程1Socket编程 19. 案例4聊天室开发 20. 网络编程2UDP...
鼠标精灵.exe
驱动精灵.exe
3、定时器和触发器功能:鼠标精灵允许用户设置定时器和触发器,以便在特定的时间或条件下执行宏。例如,用户可以设置宏在特定的时间间隔内循环执行,或者当特定的键盘按键被触发时执行宏。 4、其他附加功能:鼠标...
LG G5 HIFI精灵的WINDOWS驱动,适用于WINDOWS7及WINDOWS10。打完驱动后音量不再突然增大到最大。。
基本点打车精灵.pdf基本点打车精灵.pdf基本点打车精灵.pdf基本点打车精灵.pdf基本点打车精灵.pdf基本点打车精灵.pdf基本点打车精灵.pdf基本点打车精灵.pdf基本点打车精灵.pdf
单片机 精灵 MCU 编程助手 延时计算 定时器/计数器 串口波特率 中断/控制字 常用单片资料 编程指令速查
点点IPA精灵.ipa
蓝梦定时器是一款功能比较全的定时软件。触发方式:1、时间触发:指定时间、指定星期、指定阴(阳)历时间、间隔指定时间等(指定时间触发)2、事件触发:断网、进程是否存在
WIFI共享精灵 2013.03.28.001.rar
电脑软件Sayatoo卡拉字幕精灵2.2.1.3129安装WIN10
微信小程序源码-会议精灵.zip微信小程序源码-会议精灵.zip微信小程序源码-会议精灵.zip微信小程序源码-会议精灵.zip微信小程序源码-会议精灵.zip微信小程序源码-会议精灵.zip微信小程序源码-会议精灵.zip微信小程序...
一流音乐精灵.rar 一流音乐精灵.rar 一流音乐精灵.rar 一流音乐精灵.rar 一流音乐精灵.rar 一流音乐精灵.rar