【问题标题】:Getting current time in milliseconds Cocos2d以毫秒为单位获取当前时间 Cocos2d
【发布时间】:2011-10-25 01:37:57
【问题描述】:

我已经尝试谷歌搜索,但仍然找不到最佳答案。

我想要的很简单,我只想以毫秒为单位获取当前时间。

如何在 cocos2d 中做到这一点?

【问题讨论】:

标签: objective-c ios4 cocos2d-iphone


【解决方案1】:
try this

time_t rawtime;
struct tm * timeinfo;
time (&rawtime);
timeinfo = localtime (&rawtime);

CCLog("year------->%04d",timeinfo->tm_year+1900);
CCLog("month------->%02d",timeinfo->tm_mon+1);
CCLog("day------->%02d",timeinfo->tm_mday);

CCLog("hour------->%02d",timeinfo->tm_hour);
CCLog("mintus------->%02d",timeinfo->tm_min);
CCLog("seconds------->%02d",timeinfo->tm_sec);

【讨论】:

    【解决方案2】:

    首先是一个类变量:

    CGFloat gameTime;
    

    然后在你的类中初始化:

    [self scheduleUpdate];
    

    最后,在你还在上课的时候:

    - (void) update:(ccTime)delta {
        gameTime += delta;
    }
    

    delta 是自上次调用更新以来的毫秒数。将 gameTime 保存在数据库中的某个位置,以作为终生游戏时间。

    【讨论】:

      【解决方案3】:

      以秒为单位的当前时间乘以 1000 得到毫秒数:

      double ms = CFAbsoluteTimeGetCurrent() * 1000.0;    
      

      【讨论】:

        【解决方案4】:

        只得到毫秒

        NSDate* date = [NSDate date];
        NSDateFormatter* formatter = [[[NSDateFormatter alloc] init] autorelease];
        [formatter setDateFormat:@"ss"];
        
        NSString* str = [formatter stringFromDate:date];
        
        float seconds = str.intValue;
        
        float miliSeconds = seconds / 1000; // HERE is your answer
        

        如果你想获得全职格式替换

        [formatter setDateFormat:@"hh:mm:ss"];
        

        【讨论】:

          【解决方案5】:

          为什么不把当前时间转换成浮点值,然后把当前时间乘以10^3转换成毫秒

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-02-20
            • 2017-04-25
            • 1970-01-01
            • 1970-01-01
            • 2015-09-22
            • 2011-08-25
            • 1970-01-01
            相关资源
            最近更新 更多