Home > action script > Wii リモコンの傾き&距離を Flash で取得したいのですが

Wii リモコンの傾き&距離を Flash で取得したいのですが

一昨日、Wii 公式サイト内に「インターネットチャンネル向けのウェブページを作りたいのですが…。」が公開され、インターネットチャンネル向けに作った自作ウェブページでも、Wii リモコンの傾きとセンサーバーまでの距離が検出できることが分かって、開発者の方々が大喜びしているご様子。

僕も昨晩「TAKESAKO @ Yet another Cybozu Labs」様の記事を参考に、初心者レベルの JavaScript を書いてテストして検出できて大喜びしました。今日になったら、上記 Wii サイトに「インターネットチャンネルの拡張機能を使ったサンプルページ」が追加されているようで、このページを Wii で見るのが手っ取り早いですね。

あとはやっぱり、この「傾き」と「TVまでの距離」を生かした Flash コンテンツを作りたくなってきます。どうすれば良いのかを悩んでみました。

Wii × Flash に関しては、それほど関連記事を見つけていない状態。ウノウラボ様の記事がよくまとまっているそうなので、じっくり拝見しました。その記事の中でも言及されている、Quasimondoさんの方法とは、

  1. Wii の各ボタンのキーコードは JavaScript で取得できるから、これをどうにかして Flash に渡したい。
  2. Flash8 の ExteranalInterface クラスを使えれば楽だけど、Wii は FlashPlayer7なので使えない。どうしよう。
  3. そこで、HTML上に、1px×1pxにサイズ固定したダミーの swf と、実際のコンテンツとなる swf の2つのファイルを置く。
  4. JavaScript で、ダミーswfのステージサイズを、キーコードの値にリサイズする。(ウェブページ上の表示領域は1px四方のままなので、無変化に見える)ダミー用の swf は z-index:1、コンテンツ用 swf が z-index:100 で重なっているので、見た目上は問題ない。ステージ幅として渡された値(キーコード)は swf 側で onResize 時の Stage.width で取得できる。(Stage.height はキーダウン/キーアップのフラグとして使われている。)
  5. そのダミー swf から、コンテンツ用 swf に LocalConnection を使って、カスタムメソッド+引数という形で、値を通信させる。
  6. 受け取った引数に応じて、キーコードを判断し、コンテンツを操作する。

要は「値を渡す窓口はステージサイズしかないけど、コンテンツ用swfをリサイズしまくるとマズいので、ゲートとなるダミーswfを踏み台に使う」ってことかな。

今回僕が渡そうとしている情報は上の例よりも多い。マウス位置は swf 単体でも取得できるとして、残るは、キーコード+傾き+距離+リモコン番号。Stage のプロパティで渡さないとダメなので、配列やオブジェクトではなく、1個(あるいはheightを使って2個)の数値にしないといけない。ステージサイズなので、負の数や法外に大きい値はダメそう(未検証)。各値の取るべき範囲をイメージして、JavaScript側で事前に整頓し、Flashに渡した後、元の値に再分解しないといけないのかな?で、それを JavaScript の onMouseMove なり setInterval で渡し続ける感じかな。もっとスマートな方法はないものか。。

あと、LocalConnection にも不慣れなので、検証が面倒っぽくて時間がかかる。。

と悩んでいたら夜中の3時で眠くなりました。明日目覚めたら、任天堂の中の人が「インターネットチャンネル向けのFlashページを作りたいのですが…。」のページを増設してくれていることを願って今日は寝ます。

追記:
コメントを頂いた通り、uranodai様が早速 JS - SWF on Wii のサンプルを制作されています。ここまで書いておいてアレですが、uranodai様の記事の方がまとまっているので、そちらをご覧ください。

Comment:4

通りすがり 2007-05-25 (金) 09:40

こんにちわ。

ダミーのswfを使う形のFlash/JavaScript連携なら、Flash / JavaScript Integration kit ってのがありますよ。
http://weblogs.macromedia.com/flashjavascript/

作業が軽減するかどうかはわかりませんが。。。

uranodai 2007-05-25 (金) 11:23

はじめまして。FlashPlayer7でのJS-SWF通信は、Flash / JavaScript Integration Kitでうまくいきそうです。 http://d.hatena.ne.jp/uranodai/20070524#1180020518 サンプルつくってみましたので、よろしければご覧になってみてくださいm(_ _)m

tera 2007-05-25 (金) 12:38

>通りすがり様、
>uranodai様
はじめまして。そしてありがとうございます。
早速のアドバイスに本当に感激です。
これからじっくり Flash / JavaScript Integration Kit 拝見させていただきます。

最近こんな感じで、情報を頂いてばっかりなので、何か作って少しでも還元できるよう頑張ります。
ありがとうございました。

>uranodai様
いつもdel.icio.us拝見しています。お世話になってます。

disable 2007-05-25 (金) 15:42

参考になれば
http://www.bytearray.org/wiiflash/?p=28
WiiFlash.org

Comment Form

コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。

Remember personal info

Trackback:0

TrackBack URL for this entry
http://www.trick7.com/blog/mt-tb.cgi/545
Listed below are links to weblogs that reference
Wii リモコンの傾き&距離を Flash で取得したいのですが from trick7.com blog

Home > action script > Wii リモコンの傾き&距離を Flash で取得したいのですが

持っている Flash & ActionScript 関連本の中から、自分的おすすめの読む順番をご紹介。各書籍のレビューは books カテゴリからご覧頂けます。
この順番でどう?(AS3.0)
  • Adobe Flash CS3 詳細! ActionScript 3.0 入門ノート (DVD付)
    Adobe Flash CS3 詳細! ActionScript 3.0 入門ノート (DVD付)

    デザイン方面からFlashデビューして、そのままAS2.0を使うようになった人が、難しいと評判のAS3デビューする時の最初の1冊として、とにかく目を通しておくと良いかと思います。プログラミング経験の少ない方でも、サンプルをじっくり読めば、ゼロからのAS3デビュー可。
  • ActionScript 3.0 アニメーション
    ActionScript 3.0 アニメーション
    洋書「Making Things Move!」の日本語訳本。ActionScript3.0で数学的アニメーションを作ることがメインテーマなのですが、前半部分でAS3.0の基礎を分かり易く解説されています。後半の重力, IK, 3D表現等のアニメーション解説も楽しい。僕はこれのAS2.0洋書版を読んでFlashの面白さに気付きました。
  • Essential ActionScript 3.0 (Essential)
    Essential ActionScript 3.0 (Essential)

    900ページ以上ある相当分厚い本。基礎からOOPまでを解説。ほぼ網羅しているので、これを抑えておけばAS3博士になれそう。
  • Actionscript 3.0 Cookbook
    Actionscript 3.0 Cookbook

    ActionScript3.0のリファレンス本。問題とその解決法が1ページぐらいで細分化されているので空いた時間にちょっとずつ読み進められる。WebでAS3のソースを見て勉強する時の字引としても使う。ただ、時期的に初期の本なので、AS3自体が仕様変更してたりするので正誤表は必読。
  • Object-Oriented Actionscript 3.0
    Object-Oriented Actionscript 3.0

    7/23に発売されたFlash&OOP本。AS2.0版は持っているのだけど、オブジェクト指向の初歩的な解説から入って、後半は僕の理解を超える難度になっていきました。今度こそ理解できるか?
この順番でどう?(AS2.0)
  • Foundation Actionscript Animation: Making Things Move (Foundation)
    Foundation Actionscript Animation: Making Things Move (Foundation)

    スクリプトでアニメーションさせる方法を学べる。プログラムの知識というよりも数学や物理の知識が必要。バネの表現や3D表現など、汎用性の高いテクニックを身に付けられ、個人の表現力をレベルアップするのに最適。参考までに、僕が調べた英単語リスト。2007年4月に、AS3対応版も発売されました。
  • ゲーム開発のための数学・物理学入門 Beginning Math and Physics for Game Programmers
    ゲーム開発のための数学・物理学入門  Beginning Math and Physics for Game Programmers

    「Making Things Move!」の世界を突き詰めたい人用のステップアップのための本。行列や物理運動、2D/3D表現。Flashの本ではなく、じっくり読むタイプの本なので、あとまわしにしてもいいかも。
  • Flash 8 Essentials
    Flash 8 Essentials

    Flash8の新機能を紹介。全10章が独立した構成で、興味のある部分から読めます。フィルタやビットマップ、ビデオの使い方とかを、基礎から順を追って理解していけるので、ゼロからスクリプティングできるようになる。僕はビットマップ関連の作業の際のリファレンスとして常用しています。
  • .fla―Idea of Flash Creation
    .fla―Idea of Flash Creation

    上の本でFlash8の基本を身に付けて、それをどう面白い表現に落とし込むかを学べます。深津さんの、試行錯誤・実験しやすいスクリプティング、クラス設計に凄さを感じました。YouTubeやFlickrのAPI、PHPとの連携記事も。
  • FLASH ActionScript 2.0入門完全ガイド+実践サンプル集 [CD-ROM付]
    FLASH ActionScript 2.0入門完全ガイド+実践サンプル集 [CD-ROM付]

    ここまでで表現力が付き、テンションが上がるので、その勢いで難解なオブジェクト指向に挑戦。プログラム経験のない人がいきなり英語のOOP本を読むのは厳しい。この本で継承とかインターフェースとかポリモーフィズムとかの用語を理解しておくといいかも。
  • オブジェクト指向でなぜつくるのか―知っておきたいプログラミング、UML、設計の基礎知識―
    オブジェクト指向でなぜつくるのか―知っておきたいプログラミング、UML、設計の基礎知識―

    Flashの本ではありませんが、OOPの概念を気軽に読めるボリュームで解説してくれます。英語と日本語のOOP用語の対応を図るためにも「Object-oriented Actionscript for Flash 8」と併読するのがおすすめ。なんとなく読んでおくだけでも結構違うのでは。
  • Object-oriented Actionscript for Flash 8
    Object-oriented Actionscript for Flash 8

    前半はOOPの利便性や基本の紹介。デザインパターンやMVCの理解。13章からグッと難しくなって大変。Flash8対応。
  • Essential Actionscript 2.0
    Essential Actionscript 2.0

    上の本よりもさらにOOPプログラマ向け。同じOOP本ということでやや重複しており、こちらはMX2004時代の本なので見送ってもいいかも。分かりやすい英語で良著。この本のAS3版が出たら間違いなく買い。

Page Top