主にゲームのIOSアプリケーションを開発するための初心者です。ゲームを完了し、アプリストアに送信しました。将来的には、ゲームセンター、主にスコアのリーダーボード(すべての時間、月次、週次、および今日)を含む更新を送信したいと思います。完成したゲームをgame-centerと統合する方法を理解するのに苦労しています。私にはわかりにくいもう1つの部分は、コードに何を記述し、gamekitフレームワークがゲームセンターに送信する番号(スコア)をどのように認識するかです。誰かが詳細な情報を提供できれば、私はそれを大いに感謝します。ありがとう!
3 に答える
ここにサンプルプロジェクトがあります
http://developer.apple.com/library/ios/#samplecode/GKTapper/Introduction/Intro.html
あなたがこの機能を持っているスコアを送るために、スコアはスコアであり、カテゴリーはあなたがitunesconnectで設定するリーダーボードの名前です。
- (void) reportScore: (int64_t) score forCategory: (NSString*) category {
GKScore *myScoreValue = [[[GKScore alloc] initWithCategory:category] autorelease];
myScoreValue.value = score;
[myScoreValue reportScoreWithCompletionHandler:^(NSError *error){
if(error != nil){
NSLog(@"Score Submission Failed");
} else {
NSLog(@"Score Submitted");
}
}];
}
プレーヤーが殺されたときにスコアを送信するには、この関数を使用する必要があります。スコアが最高であったかどうかを追跡する必要はありませんが、0より大きいかどうかを追跡できます。
このチュートリアルでは、彼自身のプロジェクトでサンプルプロジェクト関数を使用します。見てみましょう。ポイントと成果の送信が含まれています。
http://maniacdev.com/2011/05/tutorial-game-center-basics-leaderboards-and-achievements/
ゲームセンターはiOSSDK4.1以降で利用可能です
1)Xcodeヘルプを開きます。
2)上部にナビゲーションバーが表示され、「ドキュメント」セクションが表示され、マウスを「iOS 5.1ライブラリ」(私の場合)と表示されている場所に移動します。
3)次に、「ネットワークとインターネット」の上にマウスを移動してクリックします。
4)これで利用可能なAPIのリストができました。
その後、リーダーボードや実績など、必要なAPIを探します。要件に応じて、 GKLeaderboardsなど、興味のあるものを探す必要があります。これらのドキュメントは、必要な他のドキュメントにリンクする必要があります。GKLeaderboardsのドキュメントはWebで見つけることができます
編集:あなたが開発したゲームは、ゲームの各インスタンスの後にプレーヤーにいくらかのスコアを表示します。そのスコアを関数に投稿し- (void) reportScore: (int64_t) score forCategory: (NSString*) category
ます。[self.gameCenterManager reportScore:yourscore forCategory: @"yourgamecategory"];
このリンクからのGameCenterManager.hおよびGameCenterManager.mの場合
ゲームセンターにスコアを更新するには、このルーチンを使用します。
- (void) reportScore: (int64_t) score :(NSString*) YOUR_LeaderBoard_ID
{
GKScore *scoreReporter = [[GKScore alloc] initWithCategory:YOUR_LeaderBoard_ID];
scoreReporter.value = score;
scoreReporter.context = 0;
[scoreReporter reportScoreWithCompletionHandler:^(NSError *error) {
if (error != nil)
{
IsConnectFail = true;
}else{
IsConnectFail = false;
}
}];
}