2007年12月30日日曜日

WiiRemoteFramework v0.5をつかうには…

追記(2008/11/02):ここに書くのを忘れていたけどQC用のパッチにしました

追記 2008/5/14
2nd Try: http://edotprintstacktrace.blogspot.com/2008/05/wiiremote-2nd.html
ヌンチャクの加速度もとれましたw.


追記
サンプルhttp://y30.net/pg/cocoa_prj/Sample_WiiRemote.zip (Xcode3.0で作成) を修正.
ヌンチャクの加速度が正しく計算できないけどorz.キャリブレーション値の取り方が間違っているのかな.



ということでDarwiinRemote v0.6のソースコードを元に,値を取得している辺りを抜き出して WiiRemoteFramework v0.5用のメソッド名へ修正等を行い,挑戦としてやってみた.(できることはDarwiiRemoteより少ないw.)

準備
・SourceForge.net: DarwiinRemoteWiiRemoteFramework v0.5をダウンロード.
・WiiRemoteFrameworkをコンパイル(このときターゲット(WiiRemoteFramework)のビルド/デプロイメント/インストールディレクトリを修正.例えば"/Library/Frameworks"とかにしてみる.)(インスペクタにて)
・でbuild/Release/WiiRemote.framworkディレクトリを/Library/Frameworksにコピー (インストール)(この辺りはもっとスマートにできるんだろうけど.)


ビルド
・作成したサンプルを取得. http://y30.net/pg/cocoa_prj/Sample_WiiRemote.zip(Xcode3.0で作成)
・WiiRemote.Frameworkが見つからなければ修正してあげてください.(インスペクタにて)
・ビルド.


使い方
・環境設定のbluetoothよりWiiリモコン('Nintendo RVL-CNT-01')が登録されていないことを確認.
・実行
・'Discovery'ボタンをおす.
・Wiiリモコンの1,2を押す.
・うまく登録できれば加速度欄に数値が表示されます.
・でない場合:プログラムの終了.bluetooth登録デバイスからWiiリモコンを削除.再度実行…とやり直してください.
・センサーバーが動いていればIRも反応.


その他WiiRemoteFrameworkv0.5でできること
・ヌンチャクの接続イベント(DarwiiRemotev0.6で確認
・ヌンチャクのデータ取得(アナログ,加速度,ボタン)(DarwiiRemotev0.6で確認
・複数のWiiリモコンをハンドル.(できるっぽい?)
・Wiiリモコンのバッテリー残量がわかる.(DarwiiRemotev0.6で確認
・…あとなんかあるのかな?


問題点
・あきらかに接続.どうにかできるのかな?(アプリ終了時にbluetoothのデバイス登録を削除するようにしたら少しは便利かしら?)


誰かのお役に立てば幸い.

さてなにしようw.

0 件のコメント: