編集:私はクリーンで新しいプロジェクトを作成しましたが、それでも機能させることができません。それをダウンロードしてください。見るべき小さなコードがあり、おそらく専門家やリモートで経験する人なら誰でも、私が間違っていることを簡単に確認できます。その整数を送信しようとしているだけです。
http://www.2shared.com/file/fPOCLlg5/gkTest.html
やあ
私はiPhoneゲームにGameCenterマルチプレイヤーを実装しようとしていますが、AppleDocsやサードパーティからのデータの送受信に関するサンプルを理解するのに苦労しています。
誰かがここで公式アップルドキュメントのコードサンプルを説明してもらえますか:http: //developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/GameKit_Guide/MatchesandVoice/MatchesandVoice.html#//apple_ref/doc/uid / TP40008304-CH10-SW4
または、提供されたこのサンプルコードを理解するのを手伝ってください。すべてのゲームセンタータスクを処理するために作成されたビルド済みのクラスと、データを送受信するためのサンプルは次のようになります。
- (void) sendPosition
{
NSError *error;
PositionPacket msg;
msg.messageKind = PositionMessage;
msg.x = currentPosition.x;
msg.y = currentPosition.y;
NSData *packet = [NSData dataWithBytes:&msg length:sizeof(PositionPacket)];
[match sendDataToAllPlayers: packet withDataMode: GKMatchSendDataUnreliable error:&error];
if (error != nil)
{
// handle the error
}
}
そして受け取る:
- (void)match:(GKMatch *)match didReceiveData:(NSData *)data fromPlayer:(NSString *)playerID
{
Packet *p = (Packet*)[data bytes];
if (p.messageKind == PositionMessage)
// handle a position message.
}
公式ドキュメントからのこのコードに関する私の大きな質問は次のとおりです。
PositionPacket
/はどこPacket
から来たのですか?そして、データを送受信したいときに、次のように呼び出すと仮定します。
[self sendPosition];
また
[self match:(GKMatch *)match didReceiveData:(NSData *)data fromPlayer:(NSString *)playerID];
試合、データ、playerIDとして何を入力しますか?
たとえば、「score」という名前のintがありますが、何かを使用するために必要な特別なキーはありませんか?