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

 

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

ところで MakeCode ってプログラミング学習プラットフォームということを知ってましたか。 MakeCode Arcade はゲームに特化した環境ですが、その他にも様々なことができます。micro:bit や LEGO MINDSTORMS を操作したり、Minecraft でプログラミングすることもできます。
興味があれば MakeCode で検索してみましょう。

 

ピザを発生させよう

ピザを発生させます。
スプライト の中の黄色で指定したブロックをドラッグします。
下の方にあるのでスクロールして見つけてください。
似たブロックがありますが 発射体○を横から の方です。間違えないように注意しましょう。

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

 

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

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

 

絵を選択します。

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

 

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

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

 

ピザの絵を入れると、画面左上から右下へ連続してピザが移動します。
ピザの発生間隔は 500 ミリ秒(0.5秒)です。

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

 

速度 vx を 0 にします。
横へ移動する速度を 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つあるので注意してください。

発射体を作るブロック

ちなみに、画面外へ出た発射体は自動消滅するという機能はとても気に入ってます。
ゲームで処理が重くなったり、強制終了してしまうことが時々あったりしますよね。
その原因の1つは、発生させたスプライトを削除しないために起ります。
そのようなリスクを減らしてくれる便利な機能なんです。

 

当たり判定を入れよう

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

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

当たり判定のブロック

 

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

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

ところで、配置するブロックが増えると、空いている場所が狭くなってきますよね。
編集エリアはドラッグ操作で上下左右に動かせます。上手く使いましょう。

 

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. ミニダンジョン(完)