加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2d做一个微秒级的计数器

发布时间:2020-12-14 20:36:32 所属栏目:百科 来源:网络整理
导读:游戏Scene初始化的时候 获取系统初始化时的起点时间并保存到全局类的成员变量中 CCTime::gettimeofdayCocos2d(m_tvStartTime,NULL);//m_tvStartTime就是用于保存Scene开始时的时间的成员变量 之后在游戏Scene初始化时启动调度器schedualUpdate(); 在update()

游戏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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读