iPhoneでBox2D
みなさんこんにちは。久しぶりにブログを更新してみます。
Box2Dという物理エンジンがiPhoneで動くというのを見かけてふと動かしてみようと思い立ったのでサンプルを動かすまでを書いてみます。
みなさんこんにちは。久しぶりにブログを更新してみます。
Box2Dという物理エンジンがiPhoneで動くというのを見かけてふと動かしてみようと思い立ったのでサンプルを動かすまでを書いてみます。
前回はJavaScriptだけのWii用ページをつくりましたが、今回はFlashを使ったものを試してみました。
ただし、Wiiリモコンの状態はFlashから直接知ることができないので、JavaScriptからFlashへ情報を送信する仕組みが必要になります。そこで Flash / JavaScript Integration Kit というものを利用して、FlashとJavaScriptの連携を実現しました。
仕組みとしてはJavaScript側からFlashにWiiリモコンの状態が格納されたオブジェクトを渡し続け、Flash側でフレーム毎に渡されたオブジェクトを読んで状態を取得します。

距離と角度を検出するデモをつくりました。例によってWiiでご覧ください。
http://www.simplebeep.net/test/wiiflash/WiiTest.html
以下、興味があればどうぞ。
WiiTest.fla
wii.js
Wiiのインターネットチャンネル用のFlashを作ろうとしているのだが、Wii版OperaのFlashプレイヤーはバージョン7相当。なので Flex 2 / ActionScript 3.0 で作ったバージョン9でしか動かないものは当然対応していない。というわけで、ActionScript 2.0 でいろいろやらないといけない。
ActionScript 2.0 用のアニメーションライブラリとして Fuse Kit が便利らしいということで調べてみた。こちらのページにある Animating with Fuse と Advanced Fuse Animation というチュートリアルビデオ (flv) がとてもわかりやすい。というわけでこれをそのままやってみた。
Advanced Fuse Animation ではこんなのができます。
FuseTest2.swf
以下、flaファイル。
FuseTest.fla
FuseTest2.fla
WiiのブラウザはJavaScriptを使ってWiiリモコンの状態を取得することができる。詳細は次を参照。
インターネットチャンネル向けのウェブページを作りたいのですが…。 : Q&A - Wii
取得できる情報は、ポインタの座標、回転角、画面からの距離、各種ボタンが押されているか、など。これらをうまく使えばWiiリモコンで楽しく遊べる何かが作れてしまうわけ。残念ながらモーションセンサの情報は取れないみたいだ。
上記任天堂のQ&Aページにあるサンプルを参考に自分でも作ってみた。Wiiをお持ちの方はこちらへどうぞ。
http://www.simplebeep.net/test/wii/
Wiiリモコンで画像が動かせるだけです。リモコンを画面に近づけるほど画像が大きくなります。ほんとは回転もさせたかったけどJavaScriptだと簡単にできそうにないので。Flashと組み合わせるともっといろいろできるはず。
Apolloアプリケーション内のテキストフィールドでの日本語入力に問題があるので検証してみた。
Windowsの場合
Macの場合
問題ないのはMXコンポーネントを使ったアプリケーションをWindows環境で動かしている場合のみ。いけてません。ベータでの改善を希望。
関連記事
Apollo来た!