Morioka::as->0x08でenchant.jsをさわってみた。

久しぶりのMorioka::asなのです。
でもまあ、忙しくなって行けなくなってから2年、ActionScriptはおろか、htmlにもほとんどさわらない生活が続いていました。

久しぶりのリハビリも兼ねてAS絡み、JS絡みの話を調べていたら、enchant.jsがなかなか面白そうだったので、さわってみることにしました。

enchant.jsとは。

Javascriptクロスプラットフォームなゲームが簡単に作れるよ、というのがenchant.jsなのです。
フレームワークって言うんでしょうか。おそらく似たようなものはクローズドなところではいろんなところで作られているとは思うんですが、こちらはGPLもしくはMITライセンスでオープンに作れるところが面白いところです。

さらに、話が若い。若いので無茶する人が多い。なんというか可能性は感じます。
限界としては、HTML5Javascriptですから、おそらくブラウザの実装具合にかなり左右されるんだろうなと言うところ。

まあ、やってみたら、思ったよりも左右されなかったのですが。

ちなみに、公式サイトはこちらです。

作ってみようとして。

jsdo.itとかでもenchant.jsがモジュールとして組み込んであって、ソースをブラウザ上でいじったりも出来るようなのですが、これはこれでクセがある。
window.onloadでgame.onloadを呼び出すのが定番のサンプルソースなのですが、これをやっているソースはコピペしても全く動きません。

自分のコピペがおかしいのか、それとも環境がおかしいのか調べる暇もないので、jsdo.itを使うのはやめて、いつもの秀丸+firefoxに戻りました。

でも、ここで時間を食ったのが意外と痛かった。新しい何かを考える暇がなくなったので、いつもの跳ねるボールになってしまいました。

作ってみた。

こちらのサンプルが作ったものです。発表した段階のものに加えて、ボール数のラベル表示を増やしています。さらに、画面タップ(もしくはクリック)で音の有無を変えられるようにしてみました。

音がない場合、かなりの数までスムースに動かせるのが良い感じです。音があると、さらに臨場感が出るのがよくわかります。

ちなみに、音をつけるのは発表としてもおまけでした。実際のところiPHoneiPadではまともに音が出ない、というか、音を出すと速度ががた落ちします。

また、Chromeでは、音のon-offをうまく切り替えられない現象が発生しています。まあサンプルと言うことで、とりあえずこのまま放置しておこうと思います。

なんか、音関連はまだ鬼門なのかなあ。