【发布时间】:2011-10-25 01:37:57
【问题描述】:
我已经尝试谷歌搜索,但仍然找不到最佳答案。
我想要的很简单,我只想以毫秒为单位获取当前时间。
如何在 cocos2d 中做到这一点?
【问题讨论】:
-
我认为这里已经讨论过了:stackoverflow.com/questions/889380/…
标签: objective-c ios4 cocos2d-iphone
我已经尝试谷歌搜索,但仍然找不到最佳答案。
我想要的很简单,我只想以毫秒为单位获取当前时间。
如何在 cocos2d 中做到这一点?
【问题讨论】:
标签: objective-c ios4 cocos2d-iphone
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);
【讨论】:
首先是一个类变量:
CGFloat gameTime;
然后在你的类中初始化:
[self scheduleUpdate];
最后,在你还在上课的时候:
- (void) update:(ccTime)delta {
gameTime += delta;
}
delta 是自上次调用更新以来的毫秒数。将 gameTime 保存在数据库中的某个位置,以作为终生游戏时间。
【讨论】:
以秒为单位的当前时间乘以 1000 得到毫秒数:
double ms = CFAbsoluteTimeGetCurrent() * 1000.0;
【讨论】:
只得到毫秒
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"];
【讨论】:
为什么不把当前时间转换成浮点值,然后把当前时间乘以10^3转换成毫秒
【讨论】: