« SWF Binary Golf on FlashLite | メイン | 第1回XSS祭り(サニタイズ勉強会) »

Wiiリモコンの値をJavaScriptで取得する方法(Wiiインターネットチャンネル)

任天堂のQ&Aサイトで、Wiiリモコンの値を取得する方法が公開されていることを知人から教えてもらいました。

インターネットチャンネル向けのウェブページを作りたいのですが…。 : Q&A - Wii

インターネットチャンネルの拡張機能について知りたい
Wiiインターネットチャンネルでは特別な JavaScript を用いる事でWiiリモコンのひねりや テレビとの距離、複数のコントローラの状態を取得する事ができます。

手元にWii本体の実機がないので(Wiiリモコンはある^^)まだ試していませんが、こんな感じでJavaScriptからWiiリモコンの値が取れるっぽいですね。

if (window.opera && window.opera.wiiremote) {
  var num = 0; // wiiremote number 0,1,2,3
  var pad = window.opera.wiiremote.update(num);
  if (pad.isEnabled && pad.isDataValid) {
    // 
    var x = null;
    var y = null;
    if (pad.dpdValidity > 0) {
       x = pad.dpdX;
       y = pad.dpdY;
    }
    // 
    // if (!pad.isBrowsing) { var hold = pad.hold; }
    var button_left  = (pad.hold & 1);
    var button_right = (pad.hold & 2);
    var button_up    = (pad.hold & 4);
    var button_down  = (pad.hold & 8);
    var button_plus  = (pad.hold & 16);
    var button_2     = (pad.hold & 256);
    var button_1     = (pad.hold & 512);
    var button_B     = (pad.hold & 1024);
    var button_A     = (pad.hold & 2048);
    var button_minus = (pad.hold & 4096);
    // 
    var distance = pad.dpdDistance;
    var roll_angle = Math.atan2(pad.dpdRollY, pad.dpdRollX) * 180.0 / Math.PI;
    // 
    // hogehoge
  }
}

numの値を変えれば、2本目以降のリモコンの値も取れるみたいです。

画面からの距離(dpdDistance)やリモコンの傾き(dpdRollY, dpdRollX)の情報が取れるのは面白いですね。 Wiiリモコンを用いたインタフェースの研究開発とかを個人の家庭用ゲーム機で実現できるので、hackしがいがあるかも。

拡張機能アツすぎます。

実際に動いたー!っていう人がいればぜひ教えてください。

トラックバック

この一覧は、次のエントリーを参照しています: Wiiリモコンの値をJavaScriptで取得する方法(Wiiインターネットチャンネル):

» 基礎情報 from WiiOpera @ Wiki (PukiWiki/TrackBack 0.3)
基礎情報 Wiiで便利なツールを開発する際に気をつけなければならない事等 ブラウザ仕様も目に通しておくといいかも ▲ ▼全体 フォント... [詳しくはこちら]

» Wii の拡張機能を少し触ってみました。 from フリックスの日記
インターネットチャンネル向けのウェブページを作りたいのですが…。 : Q&A - Wii ↑を参考にして色々触ってみました。読んでみると isBrows... [詳しくはこちら]

» [Wii]はじめてのWiiインターネットチャンネル向けFlash from りあ的
ミッション インターネットチャンネル向けFlashつくる。 WiiリモコンのイベントをJavaScriptで取ってSWFに渡す。 インターネットチャンネ... [詳しくはこちら]

» Wii Flash API from Open Sauce(JC - Funcest)
どうもJCです。 TAKESAKOさんがWiiリモコンの値をJavaScriptで取得する方法を載せていたのでさっそく API を作ってみました。 先週... [詳しくはこちら]

» ドラゴンクエスト wii from ゲーム趣味野郎の気になるゲーム情報
ゲーム関連情報を色々集めています魁!伯爵番付?〜永久にともに〜ドラゴンクエストソード Wii スクエニ02←02.戦国BASARA2英雄外伝 Wii カプ... [詳しくはこちら]

» JavaScript で wii リモコンの情報を取得する from 1日1tech
wii 搭載のインターネットチャンネル(Operaブラウザ)限定ですが、なんと、JavaScript だけで、リモコンの傾き、x-y 座標位置(TV画面の... [詳しくはこちら]

コメント

カンタンに取得できるんですね。
これでWii専用のゲームをjavascriptで作れそう。

小生もリモコンしかないんですけど、
PCに専用の受信機つけて遊んでます

>REMさん
早速のコメントどうもありがとうございます。
こういった情報が公開されているとユーザ側で
いろいろと面白いことが出来るので嬉しいですね。
自分は去年プレゼンのためにWiiリモコンだけ買いました。^^

「実際に動いたー!」

はじめましてこんにちは。
Wiiの実機、インターネットチャンネル上でテストしてみました。
僕がJavaScriptに詳しくないので、込み入ったことは分かりませんが、
こちらで紹介頂いた記事をもとに、簡単なスクリプトを書いて、きちんと回転、距離ともに取得できました。
次はこれをFlashに渡す作業に移りたいと思っております。
Wiiってすごいなぁと一人で盛り上がっております。
ありがとうございました。

> teraさん
おおおお、早速「実際に動いたー!」報告どうもありがとうございました。
面白いのが出来たらジョネレータみたいにぜひまた公開してくださいー。

コメントを投稿