Sameera Chathuranga
Sameera Chathuranga

Reputation: 3666

ios game center submit time and show in leader board

in my app i need to submit the time to the game center and i need to show that in Elapsed Time - To the hundredth of a second format.

00:00:00.00

this is the format i want to show in leader board.

In my app im getting the time in following format

ss.SS

ss = seconds SS = hundredth of a second

i converted the value to double before send it to the game center

double newScoreDouble = [newScore doubleValue];

But when i sending the double score to the game center it asking me to convert it to int64_t format. But when i convert it to that format it loses some part of the double value.

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);

this is the way i convert double to int64_t

Can any one say how to send whole double value to the game center and display it in Elapsed Time - To the hundredth of a second format.

Thanks

Upvotes: 7

Views: 3489

Answers (1)

Kaan Dedeoglu
Kaan Dedeoglu

Reputation: 14851

I've done this before. When you're recording a score in the to the hundredth of a second format. You would multiply your seconds with a hundred before submitting.

So let's say the user scored 1minute 44 seconds 300 milliseconds : 1:44:30 = 104.3 seconds. Then you would set your value property of GKScore object equal to 104.3 * 100 = 10430 ,and submit it like that.

Give it a try :)

Upvotes: 14

Related Questions