【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

【LG006.精灵传说】我是定时器相关推荐

  1. 【LGame入门学堂006.精灵传说】我是定时器

    [LG006.精灵传说]我是定时器 关键字:LGame 入门 定时器 笨木头花心贡献,啥?花心?不呢,是用心~ 转载请注明,原文地址:http://blog.csdn.net/musicvs/arti ...

  2. 【LGame入门学堂005.精灵传说】简单的精灵

    [LGame学堂]简单的精灵 关键字:LGame 入门 精灵 笨木头花心贡献,啥?花心?不呢,是用心~ 转载请注明,原文地址:http://blog.csdn.net/musicvs/article/ ...

  3. 【LG005.精灵传说】简单的精灵

    [LGame学堂]简单的精灵 效果图: 精灵,按照个人的理解,就是游戏中的生物,生物嘛,当然是要能懂的.跑来跑去的主角是精灵,和主角打架的怪物也是精灵~还有好多好多精灵,好吧,精灵不神秘,它也不过是一 ...

  4. Battle Mages (魔法之战,精灵传说)修改器

    最近很忙,没有更新,程序也没写,只是玩了一块这个游戏,顺便改了改,写在下面,有兴趣的朋友可以写修改器. 一.金钱 1.汇编 将ECX修改为所需要数值 005D99E0.005DAA95两处 MOV [ ...

  5. 天猫精灵python开发_天猫精灵X1智能音箱使用感想

    11.22音箱到手,等了刚好一个月. 一.测评语音交互功能 测试条件:正宗普通话. 1)问天气.气温:表现良好. 2)找手机功能:试了多次,每次都说手机号码格式不对.有那时间我自己找了. 3)小孩听故 ...

  6. js的继承,我是搬运工

    主要是搬运的这个大佬的  js 继承 这个搬运的 原型.构造函数.实例 他说的第一个是原型链继承: 先谈了原型.构造函数和实例以及三者之间的关系 1.原型 (prototype):一个简单的对象,用于 ...

  7. Cocos2d-x3.X入门游戏实例(一) 经典飞机大战开发笔记

    有一个多月没有写学习笔记了,主要是在学习了一段时间后觉得想整个小游戏,选来选去选择了微信飞机大战作为处女作.飞机大战内容简单,比较适合刚学习Cocos2dx的新手拿来练手,而且网上的教程和源码都很多, ...

  8. 第一节: Timer的定时任务的复习、Quartz.Net的入门使用、Aop思想的体现

    一. 前奏-Timer类实现定时任务 在没有引入第三方开源的定时调度框架之前,我们处理一些简单的定时任务同时都是使用Timer类, DotNet中的Timer类有三个,分别位于不同的命名空间下,分别是 ...

  9. JS的组成-JS数组方法-JS函数-系统化学习

    JS Day01 什么是js的组成? ECMAScript(es) 其实就是js的规范(规则) DOM 文档对象模型 div span BOM 浏览器对象模型 JS的使用方式 行内样式的书写(不经常使 ...

最新文章

  1. 延迟加载算法微服务的模型
  2. python视频教学视频哪个好-Python入门视频看哪个好?适合初学者的教学视频推荐...
  3. 2020-12-28 Matlab自动化控制-Adrc自抗扰控制
  4. 小学 n 阶乘的后面包含多少零c语言,C语言---求n的阶乘后面有多少个连续的0
  5. java排序-交换排序-快速排序
  6. 10.13 上午 考试
  7. tf 矩阵行和列交换_tf.transpose函数的用法讲解
  8. 自学python能学成吗-自学Python能学会吗 零基础怎么学
  9. java 读取excel wps_安装WPS引发的excel上传问题
  10. 在Adobe Html5 Extension的使用Nodejs的问题
  11. postifx网络服务的搭建和配置
  12. vuex模块化 怎么引用state_vue 组件如何调用 vuex 模块中的getters
  13. SpringBoot中的文件读取
  14. 流加密,一次性密码本的原理,简介,事例以及攻击方式
  15. C语言,进制转换之十六进制转二进制,完整代码
  16. 联想服务器重装系统快捷键,联想电脑重装系统按什么快捷键
  17. php7 yar扩展,php扩展之Yar使用
  18. IE6中常见兼容性问题及浏览器显示难题
  19. 微信企业号突飞猛进,移步到微为何坐稳移动审批头把交椅
  20. arthas-dashboard

热门文章

  1. 如果你知道兔兔吃这些,还会觉得ta可爱吗
  2. 用操作系统创新解决卡脖子问题,欧瑞博要加速全屋智能的马太效应
  3. Excel技能总结(WPS)
  4. html表格文字横向显示,excel表格中如何将竖向文字变成横向的?:代码转换文字...
  5. 苹果iPhone14怎么领取淘宝天猫优惠券购买iPhone苹果14钢化膜手机壳?
  6. sql查询:查询药品的信息和被收藏的次数
  7. 【RabbitMQ】RabbitMQ架构模型
  8. WOJ 1037 邮票 Stamps
  9. php添加超链接到html,总结几种实现超链接html代码
  10. 会员系统 java源码_推荐会员管理系统JAVA源码