cocos2d做一个微秒级的计数器

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




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值