iOS游戏中心提交时间和在排行榜中显示的问题

7

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

00:00:00.00

这是我想在排行榜中显示的格式。

在我的应用程序中,我获取的时间格式如下:

ss.SS

ss = 秒 SS = 百分之一秒

在发送给游戏中心之前,我将该值转换为double类型。

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的方法

有人能说一下如何将完整的double值发送到游戏中心,并以“经过的时间 - 百分之一秒”的格式显示吗?

谢谢

1个回答

14

我以前做过这个。当您在记录分数时,使用百分之一秒的格式。提交前需要将您的秒数乘以100。

假设用户得分为1分钟44秒300毫秒:1:44:30 = 104.3秒。然后您将设置GKScore对象的value属性等于104.3 * 100 = 10430 ,并像这样提交。

试试吧 :)


如何在iOS的游戏中心提交我的胜利时间 - Vijay yadav

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接