【发布时间】:2014-04-09 21:39:06
【问题描述】:
我正准备推出我的第一个应用,并希望在我的游戏中拥有多个排行榜。目前在沙盒模式下,我可以成功跟踪并将分数记录到游戏中心。 Game Center 保存了我的分数(仅当它更高时)并且似乎功能齐全。
我知道,通过 Itunes Connect,我们可以设置多个排行榜,这看起来很简单。不过,我仍然希望能够在发布我的游戏之前测试多个排行榜。有没有办法在沙盒模式下做到这一点?目前,我的分数似乎只会自动登录到默认排行榜。下面是我用来保存/访问分数的相关代码。谢谢!
ABGameKitHelper.m
#pragma mark - Leaderboard
-(void) reportScore:(long long)aScore forLeaderboard:(NSString*)leaderboardId
{
GKScore *score = [[GKScore alloc] initWithCategory:leaderboardId];
score.value = aScore;
[score reportScoreWithCompletionHandler:^(NSError *error) {
if (!error)
{
if(![self hasConnectivity])
{
[self cacheScore:score];
}
if (ABGAMEKITHELPER_LOGGING) NSLog(@"ABGameKitHelper: Reported score (%lli) to %@ successfully.", score.value, leaderboardId);
}
else
{
[self cacheScore:score];
if (ABGAMEKITHELPER_LOGGING) NSLog(@"ABGameKitHelper: ERROR -> Reporting score (%lli) to %@ failed, caching...", score.value, leaderboardId);
}
}];
}
-(void) showLeaderboard:(NSString*)leaderboardId
{
GKLeaderboardViewController *viewController = [GKLeaderboardViewController new];
viewController.leaderboardDelegate = self;
if (leaderboardId)
{
viewController.category = leaderboardId;
CCLOG(@"Going to category already created");
}
[[self topViewController] presentViewController:viewController animated:YES completion:nil];
}
MainScene.m
- (void)gameCenter {
[[ABGameKitHelper sharedHelper] reportScore:1400 forLeaderboard:@"Score"];
[[ABGameKitHelper sharedHelper] showLeaderboard:@"Score"];
}
【问题讨论】:
标签: ios cocos2d-iphone game-center