私はそれをグーグルで試しましたが、合法に見えるものを見つけることができません. ゲームセンターをすべてセットアップして、リーダーボードと実績を取得するだけで済みます。どんな提案でもいいでしょう。ありがとうございました。また、スコアを文字列に保存しているので、どうすればそれをリーダーボードに入れることができますか?
質問する
1893 次
2 に答える
1
Itterheim & Loew の著書「Learn Cocos2d Game Development with iOS5」には、サンプル コードを含むゲーム センター プログラミングに関する章全体があります。また、Strougo & Wenderlich による「Learning Cocos2d」には、動作するコードの章があります。
于 2012-07-21T00:42:21.137 に答える
1
リーダー ボード デリゲートをレイヤー クラスに追加します。
@interface MyMainMenu : CCLayer<GKLeaderboardViewControllerDelegate>
必要に応じてリーダーボードを表示します。
-(void)displayLeaderboard
{
GKLeaderboardViewController *leaderboardViewController = [[GKLeaderboardViewController alloc] init];
leaderboardViewController.leaderboardDelegate = self;
AppController *app = (AppController*) [[UIApplication sharedApplication] delegate];
[app.navController presentModalViewController:leaderboardViewController animated:YES];
}
これらの 2 つのリーダー ボード デリゲート関数を追加します。
#pragma mark GameKit delegate
-(void) achievementViewControllerDidFinish:(GKAchievementViewController *)viewController
{
AppController *app = (AppController*) [[UIApplication sharedApplication] delegate];
[app.navController dismissModalViewControllerAnimated:YES];
}
-(void) leaderboardViewControllerDidFinish:(GKLeaderboardViewController *)viewController
{
AppController *app = (AppController*) [[UIApplication sharedApplication] delegate];
[app.navController dismissModalViewControllerAnimated:YES];
}
スコアを送信するには:
[[GameCenterManager sharedGameCenterObject] reportScore:score forCategory: kLeaderboardID];
GKTapper サンプルの GameCenterManager.m クラスを使用します (Apple SDK サンプルを参照してください)。
設定から値を取得するコードは次のとおりです。 // 設定から保存された値を取得するには
int highScore = [[[NSUserDefaults standardUserDefaults] objectForKey:@"HighScore"] intValue ];
于 2012-07-20T07:52:16.613 に答える