ios游戏中心提交时间并在排行榜上展示

Sam*_*nga 5 iphone double datetime ios game-center

在我的应用程序中,我需要将时间提交到游戏中心,我需要在经过时间 - 以百分之一秒的格式显示.

00:00:00.00

这是我想在排行榜上展示的格式.

在我的应用程序中我得到以下格式的时间

SS.SS

ss =秒SS =百分之一秒

在将它发送到游戏中心之前,我将该值转换为双倍

double newScoreDouble = [newScore doubleValue];
Run Code Online (Sandbox Code Playgroud)

但是当我将双重分数发送到游戏中心时,它要求我将其转换为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);
Run Code Online (Sandbox Code Playgroud)

这是我将double转换为int64_t的方式

任何人都可以说如何将整个双倍值发送到游戏中心并在经过时间显示 - 到百分之一秒的格式.

谢谢

Kaa*_*glu 13

我之前做过这个.当您以百分之一秒的格式录制乐谱时.在提交之前,您会将秒数乘以100.

所以让我们说用户得分1分44秒300毫秒:1:44:30 = 104.3秒.然后你将GKScore对象的value属性设置为104.3*100 = 10430,然后像这样提交.

试试看 :)