M5StickCとJoyStickHatで動くブロック崩し
コンテンツ
今回やること
M5StickCとM5Stick_Joystickをコントローラーにして、ブラウザ上に表示されたブロック崩しゲームで遊びます。
用意するもの
- M5StickC (obnizOSを書き込んだもの)
- M5StickC_Joystick
組み立て方
obnizOSを書き込んだM5StickCとM5StickC_Joystickを配線します。
obniz公式デバイスのM5StickCの販売は終了しました。
プログラム
ブロックやボールを描くためにCanvasを利用します。
Canvasは、現実世界で図や絵をスケッチするのと同様に、ブラウザ上で図や絵を描くことが出来るHTML5とJavaScriptの機能です。
以下コードはCanvasの基本コードです。(引用:MDN Web docs)
こちらのコードで、ブラウザ上に四角形が描画されます。
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Gamedev Canvas Workshop</title> <style> * { padding: 0; margin: 0; } canvas { background: #eee; display: block; margin: 0 auto; } </style> </head> <body> <canvas id="myCanvas" width="480" height="320"></canvas> <script> var canvas = document.getElementById("myCanvas"); var ctx = canvas.getContext("2d"); ctx.beginPath(); ctx.rect(20, 40, 50, 50); ctx.fillStyle = "#FF0000"; ctx.fill(); ctx.closePath(); </script> </body> </html>
CanvasにJavaScriptで要素(ブロックやボールなど)を描画し、その要素を書いては消し書いては消しを繰り返すことでアニメーションが可能になり、要素が動いているように見えます。
こちらのMDNサイトで、Canvasでのブロックくずしゲームをマスターしてください。
上記サイトでは、パドルをキーボードで操作していますが今回はjoystickで得られるx軸とy軸を使ってパドルを操作してみましょう。