やあみんな元気かな?
enchant.jsにサウンド機能がついたから、アトラスXにもとりあえずつけてみた。
ほんと、とりあえず、だけど。
とやると、効果音が鳴る。
それだけ。
いまのところサポートしているのは、se1.wav,se2.wav,se3.wavだけ。
ま、このへんはmisc/game.jsを適当に見てくれれば「ハハーン」って解ると思うので割愛する。
しかしいまのところHTML5で音ってまだまだクセモノなんだよね。
どのへんがクセモノなのかっていうと、とにかく鳴ったり鳴んなかったり。
iOSだと鳴らす度にネットにデータ取りにいくらしくてタイムラグが半端ない。
オマケに音を重ねることもできない。
と、音関係ってのは、とかく後回しにされがちな部分なんだよね。なぜか。
で、音があってもなくても問題なくて、しかし音があった方がゲームが盛り上がるもの、として、クイズゲームなんかどうかな、と考えてみた。
そこで今回はIT力判定クイズってのを作ってみたよ。
まあ問題は適当。
だけど、当たったときと外れたときで音が違う。
こんなちょっとしたことだけでも、なんかゲームを遊んだ感覚がちょっと変わるのが面白いよね。
今回のソースコード解説は以下
今回のソースコードのポイントは、まず問題文を配列で与えているところ。
{ q:'マウスの発明者は?',
a:['ダグラス・エンゲルバート','アラン・ケイ','嶋正利','ビル・ジョイ'] },
このqの部分が問題文で、aの部分が回答なわけだね。
問題セットは、aの最初の項目、つまりa[0]が答えになるように作ってある。
この問題セットには60問くらいの問題が入っている。
そして
問題 = どれか(問題セット);
台詞(問題.q);
で、問題に問題セットの中からどれかひとつをランダムに選んで代入している。
それから台詞コマンドで実際の問題を表示しているというワケ。
正解 = new String(問題.a[0]);
回答セット = シャッフル(回答欄);
選択肢(回答セット[0],問題画面);
選択肢(回答セット[1],問題画面);
選択肢(回答セット[2],問題画面);
選択肢(回答セット[3],問題画面);
そして選択肢の部分では、まず正解は問題.a[0]に入っているから、これを保存する。
いきなり new Stringとか出て来てるけど気にしない。
なぜこれが必要なのか、ということはここでは割愛する。
そのあと、回答セットをシャッフルしている。つまり、これで選択肢にランダムな回答が並ぶわけだ。
あとは正解と選択された文字列を比較して、一致していれば正解、外れていればダメでライフを1減らすとか、まあいつもの処理を入れてるってワケ。
サウンドノベルとかその手のものではこの音声ってのが欠かせないわけだけど、これがもっと進化するためには、とりあえずHTML5の音声関連がもっと進化してくれないと困るかもなー
というわけで今回はこのへんで
No related posts.
Post a Comment