創って学ぼうプログラミング 第9回 スプライト機能を使ったゲーム micro:bit編

マイナビニュース / 2018年5月17日 13時17分

写真

画像提供:マイナビニュース

○ゲーム制作に便利な機能

 マイクロビットは子供が喜ぶ機能が用意されています。それはゲーム制作に便利な機能です。その1つがスプライト機能です。通常マイクロビットでLEDの表示を行うと表示されているLEDの状態を気にしつつ点灯と消灯処理をしなければなりません。スプライト機能があれば、LEDの表示内容に関係なく任意の位置に表示することができます。自動的に消灯処理も行われます。なお、マイクロビットのスプライトは1×1サイズです。複雑な形状のものは扱えません。
 他にはスプライト同士の衝突判定やスコア加算、ゲームオーバー処理なども用意されています。マイクロビットでゲームを作ってくださいといわんばかりの機能です。
 そこで、今回はマイクロビットで用意されているゲーム関連の機能を使って隕石避けゲームを作成してみます。上から落下してくる隕石を避けて進みます。自機は画面の一番下にありボタンAで左に移動、ボタンBで右に移動します。隕石にあたるとゲームオーバーとなります。

 ゲーム制作は一度に作るのではなく、少しずつ動作を確認しつつ作成します。

・JavaScript用のブロックエディタ
https://makecode.microbit.org/

○自機の移動

 まず、自機の移動処理を作成します。自機のスプライトを扱うためには変数を作成します。ここでは「自機」という名前の変数を作成します。

次にスプライトを作成します。最初だけのブロックに「自機」の変数を入れます。次にカテゴリの「ゲーム」から「スプライトを作成 X:□ Y:□」ブロックを配置します。ブロックは「自機」の変数の値として入れます。

次にボタンが押されたら自機を移動させる処理を追加します。ボタンが押されたら処理するブロックを配置したら、その中に「スプライト「自機」を「-1」ドット進める」ブロックを入れます。ボタンAのブロックを作成したら、同様にボタンBのブロックも作成します。ボタンBの場合は1ドット進めるようにします。

これでボタンを押すと自機が左右に移動します。ダウンロードボタンをクリックしてHEXファイルを作成したらマイクロビットに転送して動作を確認します。ボタンを押すと自機を示すLEDが動くはずです。

なお、このプログラムのJavaScriptコードは以下のようになります。ブロックを組み合わせるのが面倒な人は、このコードをコピー&ペーストしてください。

マイナビニュース

トピックスRSS

ランキング