Cocos2d-x学习笔记(六) 定时器Schedule的简单应用
2014-10-31 18:31
399 查看
Cocos2d-x中的定时器使用非常easy,共同拥有3种:schedule、scheduleUpdate和scheduleOnce。简介一下三种的差别:
schedule,每隔指定时间运行某个自己定义的函数
schedule(schedule_selector(自己定义函数名),间隔时间);
scheduleUpdate,每帧运行一次Update函数(仅仅能是以Update命名的函数,须要调用其它函数则使用schedule)
scheduleOnce,在指定时间后运行某个自己定义函数,且仅仅会运行一次
scheduleOnce(schedule_selector(自己定义函数名),间隔时间);
今天将会学习schedule的使用方法,这个学会了其它两种就非常easy了。首先来个简单的样例,显示当前系统时间,并使用schedule刷新当前时间。
创建label并默认显示系统当前时间,然后使用schedule函数每秒调用我们的自己定义函数
执行之后就能够看到屏幕中间不停跳动的时间了。事实上到这里schedule函数的学习就差点儿相同了,但我想试着实现非常多游戏里都会有的美术字倒计时,于是结合上一篇精灵类的知识做了一个用美术字实现的系统时间,能实现动态显示系统时间,倒计时就是小意思了。
实现原理跟在label中显示差点儿相同,用schedule每秒调用给精灵更换图片的函数就能够了。反复代码比較多,我就不贴上来了,来两张效果图吧。
然后是用到的数字素材,网上找半天没找到,非常多生成工具都必须在MAC下使用,没办法就自己用PS随便弄了下。本来想把这数字素材的plist放上来的可是没找到哪里能够传附件……貌似不能的样子……
Cocos2d-x中的定时器使用非常easy,共同拥有3种:schedule、scheduleUpdate和scheduleOnce。简介一下三种的差别:
schedule,每隔指定时间运行某个自己定义的函数
schedule(schedule_selector(自己定义函数名),间隔时间);
scheduleUpdate,每帧运行一次Update函数(仅仅能是以Update命名的函数,须要调用其它函数则使用schedule)
scheduleOnce,在指定时间后运行某个自己定义函数,且仅仅会运行一次
scheduleOnce(schedule_selector(自己定义函数名),间隔时间);
今天将会学习schedule的使用方法,这个学会了其它两种就非常easy了。首先来个简单的样例,显示当前系统时间,并使用schedule刷新当前时间。
//label pLabel = CCLabelTTF::create(CCString::createWithFormat("%d:%d:%d", now->tm_hour, now->tm_min, now->tm_sec)->getCString(), "Thonburi", 34); CCSize s = CCDirector::sharedDirector()->getWinSize(); pLabel->setPosition(ccp(s.width / 2, s.height / 2)); addChild(pLabel); schedule(schedule_selector(Schedule::showTimebyLabel), 1.0f);
创建label并默认显示系统当前时间,然后使用schedule函数每秒调用我们的自己定义函数
void Schedule::showTimebyLabel(float dt){ time(&tt); now = localtime(&tt); pLabel->setString(CCString::createWithFormat("%d:%d:%d",now->tm_hour,now->tm_min,now->tm_sec )->getCString()); }
执行之后就能够看到屏幕中间不停跳动的时间了。事实上到这里schedule函数的学习就差点儿相同了,但我想试着实现非常多游戏里都会有的美术字倒计时,于是结合上一篇精灵类的知识做了一个用美术字实现的系统时间,能实现动态显示系统时间,倒计时就是小意思了。
实现原理跟在label中显示差点儿相同,用schedule每秒调用给精灵更换图片的函数就能够了。反复代码比較多,我就不贴上来了,来两张效果图吧。
然后是用到的数字素材,网上找半天没找到,非常多生成工具都必须在MAC下使用,没办法就自己用PS随便弄了下。本来想把这数字素材的plist放上来的可是没找到哪里能够传附件……貌似不能的样子……
相关文章推荐
- cocos2d-x 3.0 学习笔记: 一个可以拖拽的Label及schedule的应用
- c++pirmer 学习笔记之指针简单应用。
- cocos2d-x学习笔记(17)--简单游戏实例1--双枪手
- cocos2d-x 菜鸟学习笔记十五(简单的碰撞检测 实践篇 上)
- 构建一个简单的WCF应用——WCF学习笔记(1)
- cocos2d-x 菜鸟学习笔记十四(简单的碰撞检测 进阶篇)
- 【狂人C】学习笔记之一个简单的乘法函数的应用
- C#学习:定时器的简单应用
- cocos2d-x 菜鸟学习笔记十六(简单的碰撞检测 实践篇 中)
- ios学习笔记block回调的应用(一个简单的例子)
- Linux——bash应用技巧简单学习笔记
- Maven学习笔记(一) 安装和构建简单应用
- cocos2d-x学习笔记04:简单动画
- cocos2d-x 菜鸟学习笔记十七(简单的碰撞检测 实践篇 下)
- JavaScript 学习笔记3 CSS的ID、CLASS简单应用
- cocos2d-x学习笔记(13)--schedule
- cocos2d-x学习笔记04:简单动画
- cocos2d-x 2.0 学习笔记--简单动画
- hadoop学习笔记-基于hdfs搭建简单网盘应用
- 数据结构与算法学习笔记——堆栈及其应用(10以内简单四则计算器)