SSブログ

Wii Flash API 公開してみる [ActionScript2.0]

あ、どうもいつも通り JC です。

前回作った JavaScript で取得した Wii リモコンの情報を Flash で扱うのに便利な、
WiiFlashAPI を公開してみる。
ちょっとブラッシュアップしました。

一応ドキュメントも作っていたんですが、読みにくいカモしれません(汗)

新しく作ったサンプルです。

やってみて色々楽しかった。
ボタン操作は結構完璧?だと思うが、まだまだリモコンの操作が難点。
どうにかしたい。
操作自体は前回よりずっと早くなった。

API はコレです -> WiiFlashAPI(Beta)

全体的にはこんな感じです。


■ Wii Flash API (Beta)

 date : 2007/06/02
 version : 0.2
 AS Ver. : 2.0
 author : jc


■ 概要

 Wii リモコンの情報を Flash で扱うための API

 Flash / JavaScript Integration Kit (Beta) 必須
 http://weblogs.macromedia.com/flashjavascript/
 
 上記 URL から DownLoad してそのまま使ってください。


■ 使い方 (JavaScript側)

 HTML に以下を書きます。(JSファイル、SWFファイルのパスは各自直してください。)
 
 <script type="text/javascript" src="js/JavaScriptFlashGateway.js"></script>
 <script type="text/javascript" src="js/Wii.js"></script>
 
 <script type="text/javascript">
 <!--
 var uid = new Date().getTime();
 var flashProxy = new FlashProxy(uid, 'JavaScriptFlashGateway.swf');
 //-->
 </script>
 
 
 <script type="text/javascript">
 <!--
 var tag = new FlashTag('XXXX.swf', 幅, 高さ);// 幅と高さは各自直してください。
 tag.setFlashvars('lcId='+uid);
 tag.write(document);
 //-->
 </script>
 
 
 Wii.js ファイルについて

 // Wii
 // proxy : FlashProxy
 function Wii(proxy)
 
 
 // default でのブラウザのアクションをキャンセルする。
 Wii.prototype.defaultActionCancel = function()


 // 初期化
 Wii.prototype.init = function()
 
 
 // Wiiリモコンの取得する限度をセットする。
 // コレを少なめにすると少し早くなる。(ような気がする)
 Wii.prototype.setLimit = function(limit)


 // limit を設定して Flash に Wii リモコンの情報をぶん投げ続ける。
 Wii.prototype.start = function(limit)


 // 情報をぶん投げるのをやめる
 Wii.prototype.stop = function()


 // Flash に情報を送る
 Wii.prototype.update = function()


 // Controller の情報をまとめる。
 Wii.prototype.getController = function()


 // 1P 用 KeyCode 取得
 Wii.prototype.getKeyTotal = function()


 // 1P 用 KeyCode 取得用
 Wii.prototype.onKeyDown = function()
 Wii.prototype.onMouseDown = function()
 Wii.prototype.onKeyUp = function()
 Wii.prototype.onMouseUp = function()

 // Wii リモコンのキーコード
 var WiiKeyCodeBind = {};


 // ブラウザの判定
 var WiiBrowser = function() {}
 WiiBrowser.isWiiBrowser = function()


 // Flash から Wii を初期化する時はココを呼ぶ
 function main()
 

 ※ 一部省略しています。詳しくはソースコードにあるコメントを見てください。

 

■ 使い方 (Flash側)
 // jc.wii.Wii を new します。(引数は_root)
 import jc.wii.Wii;
 import jc.wii.Controller;
 import mx.utils.Delegate;
 
 var wii: Wii = new Wii(_root);
 
 // 必ず初期化してください。
 wii.init();
 
 
 // wiiコントローラーインスタンスを取得します。
 var con1: Controller = wii.getController(1);
 var con2: Controller = wii.getController(2);
 
 
 // ボタン情報の取得は以下のようにします。Delegate を使うと便利です。
 function onAKeyPressTest() {
  trace("A Button Press");
 }
 function onTwoKeyReleaseTest() {
  trace("Two Button Release");
 }
 con1.onAKeyPress = Delegate.create(this, onAKeyPressTest);
 con1.onTwoKeyRelease = Delegate.create(this, onTwoKeyReleaseTest);
 // 以上の用に設定すると ボタンが press または release された時に
 // 設定した function が呼ばれます。
 
 
 // 位置、ねじれ
 // getX 等で位置情報を得ることができます。
 // ソースの方に詳しく書いたつもりです。そっちを見てください。
 // onEnterFrame とかで主に使われると思います。
 _root.test_mc._x = con1.getX();
 _root.test_mc.._rotation = con1.getRoolAngle();
 
 
 // start で 情報の取得を開始します。
 // ●● コレを実行しないと情報取得できないので忘れないように ●●
 wii.start(2);

 

■ その他

 wii.start() 以外にも wii.polling() なんて方法もあります。
 Wii ブラウザの Flash Player のバージョンが上がって、
 ExternalInterface が使える用に鳴ったらポーリングして返値を得た方が
 早いかも知れません。(根拠無し)
 
 何かバグ、要望等がありましたら連絡ください。

 


 


nice!(0)  コメント(2)  トラックバック(1) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 2

Air Jordans

休日の経済を消費の増加を活性化する。
by Air Jordans (2011-01-10 12:47) 

coach outlet

I think your thought is quite unique,it makes me surprise.I really can’t image how that could be!Nice
by coach outlet (2011-06-16 12:21) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 1

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。