最初は細かな機能をなくしたシンプルなブロック崩しを作ります。
それが完成したら、ブロックの種類を増やしたりボールの移動角度を変更したり、いろいろと機能拡張していきます。
canvasやブロックの幅を次のように名付けることにします。
これらの設定をsettings.jsに書き込んでいきます。
width
や heigth
の単位はピクセルで指定します。ここではcanvasの横幅を400px、縦幅を550pxにしています。背景色はグレーにしていますが、自由に変更してもかまいません。
ブロックエリアの横幅はcanvasの横幅いっぱいに広げて、縦幅は上から200pxまでとしています。
blocksRowLength
に行の個数、 blocksColumnLength
にブロックの列の個数を指定します。ここでは上の図のように列数4、行数4にしています。4×4で最大16個のブロックを生成することができます。
そのあと_blocksAreaWidth
_ の幅を列の個数で割ることで1個あたりのブロックの横幅を計算しています。同じようにしてブロックの縦幅も計算します。
操作バーの縦の位置はcanvasの下部から60pxだけ上に位置するようにしています。
ボールの移動スピードは値が大きいほど速くなります。
ゲームが進行するとボールが操作バーの上に乗っている状況や、ゲームクリアしてアニメーションを静止している状況などゲームの状態が変化していきます。
そこでゲームの状態を次のように名づけておきます。
initial | 一番最初の状態。「クリックしてスタート」というメッセージを表示 |
waiting | ボールが落ちてしまい、操作バーの上にボールが乗っている状態 |
running | ボールが動いている状態 |
gameClear | ゲームクリアした状態。「ゲームクリア」というメッセージを表示 |
そして今現在のゲームの状態を gameState
に入れておきます。
次にcanvas要素のサイズを設定してコンテキストを用意します。コンテキストとは絵を描くための画用紙や筆が入っている道具箱のようなものです。このコンテキストを使って各パーツを描きます。
まずはblocks-canvasのほうから行います。
同じようにbar-balls-canvasのほうも行います。
メッセージやブロックの個数を表示する要素も用意しておきます。
これでsettings.jsは完成です。
次のページ