操作方法 | |
---|---|
パソコン | ゲーム画面内でマウスを動かす |
スマホ | ゲーム画面内でドラッグする |
操作バーの当たる位置によってボールの反射する角度が変わります
ライブラリは使わずJavascriptのみでブロック崩しを作成していきます。
今回作成するブロック崩しはボールやブロックを1000個以上発生させることができます。なおかつスマホからでもスムーズに動作できるようにします。
また特殊な効果を持ったブロックも簡単に追加できるようにしています。
そのため、他のサイトで解説しているブロック崩しの作成方法よりも少し難しくなります。
完成するころにはJavascriptでの簡単なゲームの制作方法がわかるようになっていると思います。
Javascriptの基礎(変数や関数の使い方、DOMの操作方法など)
canvasで線や四角形など簡単な図形の描き方
HTMLとCSSの基礎
各パーツの呼び方は次のようにします
次のようにblock-breakerフォルダを作成し、その中にHTMLファイル、CSSファイル、JSファイルを作成します。
block-breaker ┣━ index.html ┣━ style.css ┣━ settings.js ┣━ bar.js ┣━ balls.js ┣━ blocks.js ┗━ main.js
index.htmlに次のように書き込みます。
scriptはmain.jsが必ず最後になるようにしてください。また、scriptに defer
を付けないとHTML解析前にJavascriptを実行してしまうためエラーとなります。
canvasはブロックを描くための blocks-canvas
と、ボールと操作バーを描くための bar-balls-canvas
を用意します。
bar-balls-canvas
のほうは、ボールや操作バーを描いたらすぐ消して、少し位置をずらしてまた描くを高速で繰り返します。こうすることでアニメーションのようにボールや操作バーが動いているように見えます。
一方、ブロックは動かないので、頻繁に描くいて消すを繰り返すのは効率が悪いです。そのため blocks-canvas
はブロックを消すときだけ操作します。
この二つのcanvasを重ね合わせることで、ボールが当たったらブロックが消えるように見えます。
canvasを別々に表示すると次のようになります。
style.cssに次のように書き込みます。
canvasを width: 100%;
にすることでスマホのような小さい画面でもはみ出なくなります。
2つのcanvasを重ね合わせるため bar-balls-canvas
を position: absolute
にしています。
また、メッセージをゲーム画面中央に表示させるため message-container
をゲーム画面いっぱいに表示させて display:flex
にして子要素を中央配置にさせています。
これでHTMLとCSSは完成です。
次のページ