Cocos2d-x学习笔记(六) 定时器Schedule的简单应用
来源:互联网 发布:大华ddns域名注册 编辑:程序博客网 时间:2024/06/07 17:19
Cocos2d-x中的定时器使用很简单,共有3种:schedule、scheduleUpdate和scheduleOnce。简单介绍一下三种的区别:
schedule,每隔指定时间执行某个自定义的函数
schedule(schedule_selector(自定义函数名),间隔时间);
scheduleUpdate,每帧执行一次Update函数(只能是以Update命名的函数,需要调用其他函数则使用schedule)
scheduleOnce,在指定时间后执行某个自定义函数,且只会执行一次
scheduleOnce(schedule_selector(自定义函数名),间隔时间);
今天将会学习schedule的用法,这个学会了其他两种就很简单了。首先来个简单的例子,显示当前系统时间,并使用schedule刷新当前时间。
//labelpLabel = 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放上来的但是没找到哪里可以传附件……貌似不能的样子……
0 0
- Cocos2d-x学习笔记(六) 定时器Schedule的简单应用
- cocos2d-x初学笔记12:定时器schedule
- cocos2d-x schedule 定时器
- cocos2d-x 定时器 schedule
- cocos2d-x 定时器 schedule
- cocos2d-x schedule 定时器
- cocos2d-x schedule 定时器
- cocos2d-x 定时器schedule
- Cocos2d-x-------------------------定时器schedule
- cocos2d-x 定时器update,schedule
- cocos2d-x 定时器update,schedule
- cocos2d-x学习笔记(13)--schedule
- cocos2d-x学习笔记(13)--schedule
- cocos2d-x+cocosbuilder 学习笔记 (六)
- 我的Cocos2d-x学习笔记(十)定时调度器(scheduleUpdate、scheduleOnce、schedule)
- cocos2d-x 定时器selector的使用 :schedule的使用
- cocos2d-x 定时器selector的使用 :schedule的使用
- cocos2d-x 定时器selector的使用 :schedule的使用
- 第33讲
- 最小向量积
- HibernateTools实现pojo类 数据库schma mapping映射的相互转换
- 《互联网创业闲扯》4-创业团队的管理层
- 第34讲
- Cocos2d-x学习笔记(六) 定时器Schedule的简单应用
- Linux运维第6天:Linux下shell编程
- 第35讲
- 第36讲
- u-boot配置、编译、烧写、命令使用
- AE(C#)Shapefile导入mdb数据库
- Android SQLite数据库操作
- Android自定义View 增添onCreate setContent等方法
- freemarker报错之六