[[iPhoneプログラミング一覧]]

*目次 [#n972ac2a]
#contents

*GameKitフレームワーク [#d62d8513]
Game Kitは、マルチプレイヤーゲームを始めるためのユーザインターフェースや、ゲームの状態を共有するためのデータ転送APIを提供します。ゲームに実装すると、同じゲームが近くの他のiPhoneやiPod touches上で動作中かどうか自動的に検出し、ユーザはBluetooth経由でそれらの1台に接続して、標準IPベースの通信チャンネルを介してゲームの状態を共有し始めます。自動検出はBonjourによって処理されます。接続のためのペアリングは不要ですので、すべてがシームレスにつながります。

*UIの実現方法2とおり [#ac012f03]
-「GKPeerPickerController」を使う方法
-UIを独自に実装する方法

*通信するデータ形式はすべてNSData [#kcd1ee54]
例えば、文字列をNSDataに変換して、受信するには下記のコードのように、
-NSKeyedArchiver 
-NSKeyedUnarchiver

を使います。
**文字列 [#u4f33862]
***送り手 [#n3fac535]
 NSData *data = [NSKeyedArchiver] archivedDataWithRootObject:@"Hello"];
***受け手 [#fb070ffc]
 NSString *s = [NSKeyedUnarchiver unarchiveObjectWithData:data];


**画像 [#v7a6801a]
***送り手 [#tb2668f1]
 UIImage *image = [UIImage imageNamed:@"foo.jpg"]; 
 NSData *data = UIImageJPEGRepresentation(image);

***受け手 [#i6ad4200]
 UIImage *image = [UIImage imageWithData:data];

*接続方式 [#if3baa22]
**セッション [#w2a019b1]
セッションはGameKitが用意する「GKSession」クラスを使って管理します。

セッションIDという識別子で管理します。

セッションには以下の3つのモードがあります。
***サーバ [#k528585c]
クライアントに自分の存在を知らせる(アドバタイズ)
***クライアント [#hffdc831]
サーバを探すモード
***ピア [#o96c4fa8]
サーバとクライアントの両方

**ピアID [#z8f914f9]
ピアIDは接続時にGameKitフレームワークが自動生成します。

型はNSStringです。



*GameKit解説サイト [#d1f7c229]
**GameKit Programming Guide [#dee982d2]
アップルのサイトです。英語です。
***URL [#baff4763]
http://developer.apple.com/iphone/library/documentation/NetworkingInternet/Conceptual/GameKit_Guide/Introduction/Introduction.html
*WiFi通信についてちょこっと書いてあるサイト [#w5c57382]
http://www.fourmeisters.com/iphone-lab/ja/2009/12/iphone-os-31gamekitwifi.html
トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS