JavaScriptでつくる動く暇つぶしの続きです。今回はcanvas要素を使います。前回のものにはなかった効果音やゲームらしさも追加します。

HTML部分

style.css

JavaScript部分

前回同様にタイマーで更新処理をおこない、更新時に「暇」という文字を追加して移動させます。

グローバル変数

最初にグローバル変数を示します。

app.js

初期化

canvasのサイズを設定します。そのあとコンテキストを取得し、全体を黒で塗りつぶします。

app.js

Himaクラスの定義

「暇」という文字を移動・描画するHimaクラスを定義します。

ゲームスタートの処理

スタートボタンがクリックされたらStart関数を呼び出して、「暇」をゲーム中に何回表示させるかを決定すると同時にゲームの初期設定をしたあと、更新処理を一定時間おきに繰り返します。

更新処理

更新処理では新しく「暇」を生成するともに移動・描画の処理をおこないます。

終了処理

終了時の処理を示します。

タイマーを停止してドラムロールを鳴らします。そのあと結果を表示するとともにスタートボタンなどを再表示させます。

結果を表示する処理を示します。暇つぶしの成功率を表示します。

クリック時の処理

canvas要素がクリックされたらどの部分がクリックされたかを調べて、暇つぶしが成功したかを調べます。そのあと成功数と失敗数をグローバル変数に格納します。

効果音は以下の処理で再生できます。