游戏Scene初始化的时候
获取系统初始化时的起点时间并保存到全局类的成员变量中
CCTime::gettimeofdayCocos2d(&m_tvstartTime,NulL);//m_tvstartTime就是用于保存Scene开始时的时间的成员变量
之后在游戏Scene初始化时启动调度器schedualUpdate();
在update()这个调度器回调函数中执行
cc_timeval tv; //局部变量,用于保存计时器,当前时间
CCTime::gettimeofdayCocos2d(&tv,NulL); //获取当前时间
int min,sec; //两个局部变量 ,用于存放计算出来的分秒
int microSec = (tv.tv_usec - m_tvstartTime.tv_usec) / 1000; //cc_timeval::tv_usec存放的是皮秒的值 ,把它除以 1000 就是微秒的值 if (microSec < 0) //如果超过32位int,microSec就是负数,这个时候需要+1000,换算成整数 { microSec += 1000; min = (tv.tv_sec - m_tvstartTime.tv_sec - 1) / 60; sec = (tv.tv_sec - m_tvstartTime.tv_sec - 1) % 60; } else { min = (tv.tv_sec - m_tvstartTime.tv_sec) / 60; sec = (tv.tv_sec - m_tvstartTime.tv_sec) % 60; } CCString * str = CCString::createWithFormat("%02dmin%02d.%03dsec",min,sec,microSec);
总结以上是内存溢出为你收集整理的cocos2d做一个微秒级的计数器全部内容,希望文章能够帮你解决cocos2d做一个微秒级的计数器所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)