[windows+cocos2dx]定时器的使用

简介: 定时器常用于游戏的碰撞检测,和计数的动态显示,这个是游戏中定时器的常用功能。定时器有三种,常见的有五种创建方式。下面就用代码是举例,并用效果来验证!实例一只执行一次定时器方法//调用一次scheduleOnce(schedule_selector(HelloWorld::scheCallBack),1); //延时延时一秒调用一次回调函数效果就是一秒钟后计数器从0变成1,然后保持1不变。

定时器常用于游戏的碰撞检测,和计数的动态显示,这个是游戏中定时器的常用功能。定时器有三种,常见的有五种创建方式。下面就用代码是举例,并用效果来验证!

实例一

只执行一次定时器方法

//调用一次
scheduleOnce(schedule_selector(HelloWorld::scheCallBack),1); //延时
延时一秒调用一次回调函数

效果就是一秒钟后计数器从0变成1,然后保持1不变。


实例二

执行默认的update定时器

//不断的执行update方法
scheduleUpdate();
回调函数

void HelloWorld::update(float dt)
{
	sprintf(str2,"update:%d",n2++);
	label2->setString(str2);
}
效果参考下图的update效果,具体的update速度跟帧速率有关。


实例三

一秒钟调用一次回调,重复三次,并且延时四秒执行开始回调

//第一个参数是回调函数选择器
//第二个参数是每隔几秒调用一次回调函数
//第三个参数是重复的次数
//第四个参数是延时时间(延时多少秒开始执行回调函数)
schedule(schedule_selector(HelloWorld::scheCallBack),1,3,4);
回调函数

void HelloWorld::scheCallBack(float dt)
{
	sprintf(str,G2U("秒表:%d"),++n);
	label1->setString(str);
}



从效果可见一开始停留在0的时候等了4S然后开始每秒递增,执行到了4就不变了。


实例四

一秒调用一次回调方法

隔一秒调用一次
schedule(schedule_selector(HelloWorld::scheCallBack),1);



欢迎关注我的围脖

==================== 迂者 丁小未 CSDN博客专栏=================

MyBlog:http://blog.csdn.net/dingxiaowei2013             MyQQ:1213250243

Unity QQ群:375151422      cocos2dx QQ群:280818155

====================== 相互学习,共同进步 ===================


相关文章
|
消息中间件 Windows
Windows消息,消息循环的处理,消息队列,键盘消息,鼠标消息,定时器消息(四)
Windows消息,消息循环的处理,消息队列,键盘消息,鼠标消息,定时器消息
|
消息中间件 Windows
Windows消息,消息循环的处理,消息队列,键盘消息,鼠标消息,定时器消息(三)
Windows消息,消息循环的处理,消息队列,键盘消息,鼠标消息,定时器消息(三)
|
消息中间件 Windows
Windows消息,消息循环的处理,消息队列,键盘消息,鼠标消息,定时器消息(二)
Windows消息,消息循环的处理,消息队列,键盘消息,鼠标消息,定时器消息
|
消息中间件 Windows
Windows消息,消息循环的处理,消息队列,键盘消息,鼠标消息,定时器消息(一)
Windows消息,消息循环的处理,消息队列,键盘消息,鼠标消息,定时器消息
|
Windows
[windows+cocos2dx]菜单类
下面将学习几种常见的菜单的创建方式,菜单选择也是游戏中必备的功能之一。 //菜单创建 CCLabelTTF *label = CCLabelTTF::create(G2U("菜单选项"),"微软雅黑",25); label->setPosition(ccp(10...
807 0
|
Windows
[windows+cocos2dx]CCSprite精灵类
序言 回顾cocos2dx,之前在mac+Xcode平台学习了一遍cocos2dx,一年时间不接触cocos了,一直在搞Unity3d,现在还是就之前所学温故温故,但不再用Xcode来写,用常用的Windows+VS2012做为开发环境来回顾cocos2dx。
1104 0
|
API Windows 消息中间件
windows api学习笔记-使用定时器
#include #include "resource.h" #include LRESULT CALLBACK MainWndProc(HWND,UINT,WPARAM,LPARAM);//窗口函数的函数原型 int APIENTRY WinMain( ...
829 0
|
20天前
|
网络安全 Windows
Windows server 2012R2系统安装远程桌面服务后无法多用户同时登录是什么原因?
【11月更文挑战第15天】本文介绍了在Windows Server 2012 R2中遇到的多用户无法同时登录远程桌面的问题及其解决方法,包括许可模式限制、组策略配置问题、远程桌面服务配置错误以及网络和防火墙问题四个方面的原因分析及对应的解决方案。