在我的应用程序中,我需要将时间提交到游戏中心,我需要在经过时间 - 以百分之一秒的格式显示。
00:00:00.00
这是我想在排行榜中展示的格式。
在我的应用中,我可以按以下格式获取时间
ss.SS
ss =秒 SS =百分之一秒
我将价值转换为双倍,然后再将其发送到游戏中心
double newScoreDouble = [newScore doubleValue];
但是当我将双重分数发送到游戏中心时,它要求我将其转换为int64_t格式。但是当我将它转换为该格式时,它会丢失一部分双值。
double intPart = 0;
double fractPart = modf(newScoreDouble, &intPart);
int isecs = (int)intPart;
int min = isecs / 60;
int sec = isecs % 60;
int hund = (int) (fractPart * 100);
int64_t time_to_send_through_game_center = min*6000 + (sec*100 + hund);
这是我将double转换为int64_t
的方式任何人都可以说如何将整个双倍值发送到游戏中心并在经过时间显示 - 以百分之一秒的格式显示。
由于
答案 0 :(得分:13)
我以前做过这个。当您以百分之一秒的格式录制乐谱时。在提交之前,您可以将秒数乘以100。
所以让我们说用户得分1分44秒300毫秒:1:44:30 = 104.3秒。然后你将GKScore对象的value属性设置为104.3 * 100 = 10430 ,然后像这样提交。
试一试:)