« iOSのSafariがWebSocketに対応したので、WebSocketRemote for iOSを作りました | メイン | WebSocket APIを気軽に試せるアプリケーション「WebSocketBroadcaster」 »

JavaScript Advent Calendar 2010 三日目 インターネットチャンネル

2010年12月1日から25日まで、毎日違う人が JavaScript にまつわるブログ記事を書く企画です。
参加表明した順番が日付(12月◯日)となります。
ということで、三日目担当の私からは、随分前からあるけど余り知られていない、でも今でも使える入力デバイスのお話です。
今年の始めにFirefoxが加速度センサに対応し、iOS4.2.1でSafariがジャイロスコープセンサや加速度センサに対応しました。
そして、KinectがHackされChromeのExtensionからも使えるようになりました。
このようなセンサをブラウザから利用できるようになったのは、今年になってからとお思いの方もいらっしゃるかもしれませんが、もっと前から似たようなものがあります。
それは、インターネットチャンネルです。
インターネットチャンネルとは、Wii用のウェブブラウザです。
「Wiiショッピングチャンネル」からWiiチャンネルの形式でダウンロードできます。
ベータ版公開当時は無料、正式版に以降するときに500Wiiポイントになりましたが、現在はまた無料になっています。
インターネットチャンネルの中身は実はOperaで、JavaScriptも使用できます。
Wii用にJavaScriptの独自拡張もされており、ボタンの押下だけでなく、Wiiリモコンの動きをある程度取得することができます。
Wiiリモコンも4つまで同時に認識します。
インターネットチャンネルではCanvasも使えます。
Wiiリモコンをふたつ持って操作等の、他のデバイスではできないオリジナリティ溢れたゲーム作成もアイディア次第で可能です。
実際に値を取得しているスクリーンキャプチャをUpしましたので、カーソルの動きとそれぞれのプロパティの値の変化をご覧ください。
実際に動くコードは、以下のURLで公開しています。
(公開直前追記:インターネットチャンネルはURLが非常に打ちにくいので、「http://bit.ly/wiiremoteprop」でアクセスできるようにもしました。)
注意点としては、Wiiリモコンのうちどれかひとつは閲覧用のコントローラとなり、ボタンの値がほとんど取得できないことが挙げられます。
このため、ボタンを使ったもの作成した場合は、ふたつ以上のWiiリモコンが必要です。
ちなみに、閲覧用コントローラかどうかはisBrowsingプロパティで判断できます。
それぞれのプロパティの詳細は公式のページをご覧ください。
また、ポインタの位置を表すdpdScreenX/dpdScreenYは、座標をピクセルで取得できるため非常に便利なのですが、公式ページには載っていないため注意してください。

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

Google

タグ クラウド