ピザを避けてゲームを作ろう 2

 

前回の ピザを避けてゲームを作ろう のつづきです。

ところで、MakeCode はプログラミング学習プラットフォームだということを知っていましたか?
MakeCode Arcade はゲーム制作に特化した環境ですが、実はそれ以外にもさまざまなことができます。

例えば、micro:bit や LEGO MINDSTORMS を操作したり、Minecraft でプログラミングすることも可能です。

興味があれば、「MakeCode」で検索してみましょう!
きっと、新しい発見がありますよ。

 

ピザを発生させよう

ピザを発生させます。

スプライト の中から、黄色で示されたブロックをドラッグします。
このブロックはリストの下の方にあるので、スクロールして探してください。

似たブロックがありますが 発射体○を横から のブロックを選択してください。
間違えないように注意しましょう!

発射体を横からのブロックをドラッグ

 

ゲームが更新された時 の中に入れます。

ゲームが更新された時の中に入れる

 

絵を選択します。

発生させるスプライトの絵を決める

 

ギャラリーでピザの絵を選びます。
ピザの絵は2つあります。絵のキレイな方(解像度の高い方)を選びます。

解像度の高い方のピザを選ぶ

 

ピザの画像を指定すると、画面の左上から右下へ向かって、連続して移動するようになります。

・vx 50 は、ピザが右方向へ 速度50 で移動することを意味します。
・vy 50 は、ピザが下方向へ 速度50 で移動することを意味します。

また、ピザの発生間隔は 500ミリ秒(0.5秒) です。

ピザの絵が発生して右下へ移動する

 

速度 vx を 0 に設定します。
これにより、横方向の移動がなくなり、ピザは真下に落ちるようになります。

ピザの絵が発生して右下へ移動する

 

0 に変更できない場合、入力が全角モードになっている可能性があります。
数値はすべて半角で入力してください。

 

ピザを画面いっぱいに降らせよう

ピザを画面幅いっぱいに降らせます。

スプライトmySpriteの位置をx0y0にする をドラッグします。

スプライトの位置指定するブロック

 

ゲームが更新された時 の中に入れます。

ゲームが更新された時の中に入れる

mySprite を projectile に変更します。

projectileに変更する

 

乱数を使います。
計算0 から 10 までのランダムな数字 をドラッグします。
下の方にあるのでスクロールして見つけましょう。

乱数を使う

 

下図を参考に x の所へ入れます。

スプライトのx座標に乱数を入れる

 

0 から 160 までに変更します。
これで画面幅いっぱいに広がります。

x座標に乱数を0から160までにする

 

スプライトの中心点を意識しよう

ここで、シミュレーターでピザの発生をよく観察してみましょう。
ピザが突然現れるのが分かります。

これは、スプライトの表示位置が中心点を基準にしているために起こります。
より自然に見せるために、ピザが画面の端からスッと現れるようにしましょう。
そのために、表示座標を少し上に調整します。

スプライトの中心点を意識する

 

変数 projectile の y 座標を -15 に変更します。

出現させるy座標を-15に変更

 

-15 にした理由は、絵のサイズが 32x32 だからです。
ピザの絵のエディタを開いてみてください。幅と高さが確認できます。

絵のサイズの確認方法

 

ここから少し難しい話をします。

「余裕を持って -30 にしてもいいのでは?」と思う人もいるかもしれません。
しかし、ピザのスプライトは発射体です。
発射体には 画面外に出ると自動的に消滅する という特徴があります。

画面外へ出た発射体は自動消滅する

つまり、発射位置を画面の外に設定しすぎると、
ピザが発生した瞬間に消えてしまうのです。
そのため、画面に少しでも表示される座標で発生させる必要があります。

また、発射体を作るブロックには 2種類 あるので、間違えないように注意しましょう。

発射体を作るブロック

 

ちなみに、発射体が画面外で自動消滅する機能はとても便利です。
ゲームによっては、処理が重くなったり、最悪の場合は強制終了してしまうことがあります。
その原因のひとつが、発生させたスプライトを削除しないことです。
この機能のおかげで、そうしたリスクを減らすことができます。

 

当たり判定を入れよう

プレイヤーとピザの当たり判定を入れます。

スプライト の中の黄色で指定したブロックをドラッグします。
下の方にあるのでスクロールして見つけてください。

当たり判定のブロック

 

当たり判定のブロックは、連結させずに外に配置します。

連結させずに外に配置する

ところで、配置するブロックが増えると、空いているスペースが狭くなってきますよね。
そんなときは、編集エリアをドラッグ操作で上下左右に移動できます
うまく活用して、作業しやすいレイアウトを保ちましょう。

 

Player と Player の当たり判定になっているため、片方を Projectile(発射体)にします。

当たり判定の相手を発射体にする

 

次は、プレイヤーがピザに当たったときに、ピザを破壊する処理を追加します。
すぐに破壊しないと、何度も当たり判定が発生してしまうので注意しましょう。

スプライトmySpriteを破壊するをドラッグします。
下の方にあるのでスクロールして見つけてください。

スプライトの破壊ブロックをドラッグ

 

mySpriteを破壊するが見つからないとき、表記が英語になっている可能性があります。 次のブロックを選びましょう。
MakeCode Arcade のバージョンアップが行われたとき、日本語化されないこともあるようです。

スプライト破壊のブロック

 

mySpriteを破壊するを当たり判定の中に入れます。

Projectile を破壊するため、mySprite を otherSprite に差し替えます。
外に押し出された mySprite はゴミ箱に捨てましょう。

破壊対象をotherSpriteに変更する

 

シミュレーターで確認しましょう。
プレイヤーとピザが当たったとき、ピザが消えれば成功です。

続きます。
次回で完結です。

 

MakeCode Arcade

  1. MakeCodeはいかが
  2. りんご狩りゲーム
  3. りんご狩りゲーム(完)
  4. ピザを避けてゲーム
  5. ピザを避けて 2
  6. ピザを避けて(完)
  7. アカウント登録
  8. ケーキ早食いゲーム
  9. ケーキ早食い 2
  10. ケーキ早食い(完)
  11. 危険ドライブ
  12. 危険ドライブ 2
  13. 危険ドライブ(完)
  14. 15秒シューティング
  15. 15秒Shooting 2
  16. 15秒Shooting(完)
  17. ブロック崩し
  18. ブロック崩し 2
  19. ブロック崩し(完)
  20. ヘビキングを撃て
  21. ヘビキング(完)
  22. ちょびっと迷路
  23. ちょびっと迷路 2
  24. ちょびっと迷路(完)
  25. でんでんジャンプ
  26. でんでんJump 2
  27. でんでんJump(完)
  28. ミニダンジョン
  29. ミニダンジョン 2
  30. ミニダンジョン 3
  31. ミニダンジョン 4
  32. ミニダンジョン(完)