gpt4 book ai didi

ios - 如何获得高分以提交/报告到游戏中心排行榜?

转载 作者:行者123 更新时间:2023-11-29 12:04:34 25 4
gpt4 key购买 nike

我已经在互联网上搜索了这个问题的答案。我在 iTunes Connect 中设置了排行榜,它会显示在我的游戏中,但高分从未报告给排行榜。

这是我在 GameViewController.m 中的排行榜代码

     - (void)authenticateLocalPlayer {
GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];

localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error) {
if (viewController != nil) [[UIApplication sharedApplication].delegate.window.rootViewController presentViewController:viewController animated:YES completion:nil];
else {
if ([GKLocalPlayer localPlayer].authenticated) {
gameCenterEnabled = YES;

[[GKLocalPlayer localPlayer] loadDefaultLeaderboardIdentifierWithCompletionHandler:^(NSString *leaderboardIdentifier, NSError *error) {
if (error != nil) NSLog(@"%@", [error localizedDescription]);
else _leaderboardIdentifier = leaderboardIdentifier;
}];
}
else gameCenterEnabled = NO;
}
};
}

- (void)showLeaderboard {
GKGameCenterViewController *gcViewController = [[GKGameCenterViewController alloc] init];
gcViewController.gameCenterDelegate = self;
gcViewController.viewState = GKGameCenterViewControllerStateLeaderboards;
gcViewController.leaderboardIdentifier = _leaderboardIdentifier;
[self presentViewController:gcViewController animated:YES completion:nil];
}

- (void)gameCenterViewControllerDidFinish:(GKGameCenterViewController *)gameCenterViewController {
[gameCenterViewController dismissViewControllerAnimated:YES completion:nil];
}

在我的 MenuScene.m 和 EndScene.m 中,我有这段代码来显示作为标签显示在屏幕上的最佳分数。

      _labelScoreBest = [[SimpleLabel alloc] initWithText:[NSString stringWithFormat:@"%ld", (long)[[NSUserDefaults standardUserDefaults] integerForKey:@"bestScore"]] fontSize:MS_FONT_SIZE_LABEL_SCORE_BEST position:MS_POSITION_LABEL_SCORE_BEST colorByHEX:MS_FONT_COLOR_LABEL_SCORE_BEST andZPosition:MS_ZPOSITION_LABEL_SCORE_BEST];

在屏幕上显示最佳分数。我如何才能将其报告给我已设置的排行榜。我的排行榜标识符由我的 GlobalSettings.h 中的 pragma 标记定义为我在 iTunes Connect 上创建的排行榜 ID。

我希望所有这些都有意义,并且有人知道如何提供帮助。

最佳答案

您必须将高分提交给 GameCenter:

func addLeaderboardScore(score: Int64) {
var leaderboardID = "YOURLEADERBOARDID"
let newGCScore = GKScore(leaderboardIdentifier: leaderboardID)
newGCScore.value = score
newGCScore.leaderboardIdentifier = leaderboardID
GKScore.reportScores([newGCScore], withCompletionHandler: {(error) -> Void in
if error != nil {
print("Score not submitted")
}
})
}

关于ios - 如何获得高分以提交/报告到游戏中心排行榜?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35509009/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com