EDIT: 私はきれいな新しいプロジェクトを作ったが、まだそれを稼働させることはできない。それをダウンロードしてください、そして、私が間違ってやっていることを見るために、プロや誰かがリモートで経験するために、おそらく簡単に見るための小さなコードがあります。その整数を送信しようとしています。Game Center - データの送受信
http://www.2shared.com/file/fPOCLlg5/gkTest.html
こんにちは
私は私のiphoneのゲームでゲームセンターのマルチプレイを実装しようと悩み、私はAppleのドキュメントで、データの送受信に関する第三者から手元に持っているサンプルをご理解を持っています。
誰かがここに公式のAppleのドキュメントのコードサンプルをしてください説明してくださいでした: 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];
または私は試合、データおよびplayerIDとして入力してください何
[self match:(GKMatch *)match didReceiveData:(NSData *)data fromPlayer:(NSString *)playerID];
?
など。私は「スコア」という名前のintを持っていますが、何かを使うのに必要な特別なキーはありませんか?
これは大変ありがとうございます。 「合っている」というのはこれが新しいGKMatchなのか、それとも特定の場所から来る必要があるのでしょうか? –
この方法の場合、マッチはあなたに渡されます。私は、あなたがそれについて心配する必要はない/これらの方法では何もしないという単純なケース(つまり、一度に1つのゲームだけが進行する)であると思われます。マッチメイキングの詳細情報をお探しの場合は、マッチメイキングサービスから来てください。詳細はこちら:http://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/GameKit_Guide/MatchesandVoice/MatchesandVoice.html#//apple_ref/doc/uid/TP40008304-CH10-SW9 – ipmcc
私は、受信データメソッドは私たちにGKMatch 'match'を与えますが、' match'はsendScoreメソッドのどこから来ますか? –