FlexでWiiコントローラー

FlexWiiのコントローラーを使ってみようってことでやってみました。
参考になるサイト
http://cs3book.flashoop.jp/wiki/index.php?Wii%E3%83%AA%E3%83%A2%E3%82%B3%E3%83%B3%E3%81%A8AS3
下準備
サーバー(Wiiコンを操作するのに必要)
http://wiiflash.bytearray.org/
.netが必要でとりあえずインストールしておきます。
次に、http://code.google.com/p/wiiflash/からサーバープログラムとクラスライブラリ(API)をダウンロードします。
サーバープログラムは解答すればexeファイルがありますので、ダブルクリックで起動。
APIのほうは、解答して、WiiFlash.swcファイルをFlexプロジェクトのlibsフォルダに入れればOK。
実際の動作
こんな感じに。

簡易ソースコードはこちら。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
<mx:Script>
<![CDATA[
import org.wiiflash.events.ButtonEvent;
import org.wiiflash.Wiimote;
private var wiimote:Wiimote = new Wiimote();
private function init():void{
    wiimote.addEventListener( Event.CONNECT, onWiimoteConnect );
    wiimote.connect();
}
private function onWiimoteConnect( event:Event ):void{
    wiimote.addEventListener( ButtonEvent.A_PRESS, onAPress );
    wiimote.addEventListener( ButtonEvent.A_RELEASE, onARelease );
    this.addEventListener(Event.ENTER_FRAME , onEnterFrame );
}
private function onAPress( event:ButtonEvent ): void{
    trace("A Press");
    wiimote.rumbleTimeout = 500;
    wiimote.rumble = true; //Wiiリモコンを振動させる
}
private function onARelease( event: ButtonEvent ): void{
    wiimote.rumble = false;
}
private var i:int = 0;
private function onEnterFrame( event: Event ): void{
    //Rumble while A and B are pressed
    myLog.text = "on";
    myLog.text += wiimote.up    + "\n";
    myLog.text += wiimote.down  + "\n";
    myLog.text += wiimote.left  + "\n";
    myLog.text += wiimote.right + "\n";
    myLog.text += wiimote.a     + "\n";
    myLog.text += wiimote.b     + "\n";
    myLog.text += wiimote.ir.p1 + "\n";
    myLog.text += wiimote.ir.p2 + "\n";
    myLog.text += wiimote.ir.point1 + "\n";
    myLog.text += wiimote.ir.point2 + "\n";
    myLog.text += wiimote.ir.x1 + "\n";
    myLog.text += wiimote.ir.x2 + "\n";
    myLog.text += wiimote.ir.y1 + "\n";
    myLog.text += wiimote.ir.y2 + "\n";
    myLog.text += wiimote.sensorX + "\n";
    myLog.text += wiimote.sensorY + "\n";
    myLog.text += wiimote.sensorZ + "\n";
    wiimote.rumble = wiimote.a && wiimote.b;
}
]]>
</mx:Script>
    <mx:TextArea x="10" y="10" width="182" height="371" id="myLog"/>
</mx:Application>