15秒シューティングを作ろう

 

メイクコード アーケード を使ったゲーム作り第5弾です。
過去にも学習した内容は、説明を省くこともあります。
説明が分からないときは前のページを再読しましょう。

 

これから作るゲーム

前回と同じく横向きの画面です。
全体の仕組みはよく似ています。

プレイヤーを上下左右に移動して敵を避けながら
弾を発射して、右から出てくる怪獣をやっつけます。
弾を撃つような動作は他の場面でもよく使います。これが分かれば作れるゲームが増えますよ。

15秒間シューティング

残機制のゲームです。
15秒でゲームオーバーです。敵に3回当たってもゲームオーバーになります。
スコアは敵を倒すたび +1 されます。

 

新しくプロジェクトを作成しよう

新しくプロジェクトを作成します。
プロジェクトの名前を入力して 作成 ボタンをクリックします。

プロジェクト名を入力して作成を押す

 

背景に絵を入れます。
シーン の中の 背景画像を○に設定 をドラッグします。

背景画像を設定する

最初だけ の中に配置します。

 

次に絵を選びます。

背景画像を選ぶ

 

ギャラリーから月面のような絵を選びます。(丸いのはクレーター?)

月面のような絵を選ぶ

この背景画像をあとで動かします。

ところで時々、シミュレーター画面がなかなか表示されない時があります。新しくプロジェクトを作成したときなどもよくおこります。
大抵はリセットボタンを押すことで解決します。ただリセットしても表示されない時もあります。 その時は一度ホームに戻ってプロジェクトを開き直せば、画面表示がスムーズに行われるパターンが多いです。

 

プレイヤーを表示しよう

プレイヤーを表示しましょう。

スプライト の中の黄色で指定したブロックをドラッグします。

スプライトを用意する

最初だけ の中に配置します。

 

絵を選びます。

プレイヤーの絵を用意する

 

ギャラリーから飛行機の絵を選びます。

飛行機の絵を選ぶ

同じような絵が6枚ありますが、これはアニメーション用です。
今回はどれを選んでもかまいません。

 

絵を確定する前に、絵の向きを変えます。
下図を参考に左右反転のアイコンをクリックします。

絵を左右反転させる

 

左向きの絵が右向きになりました。
完了 ボタンを押して絵を確定します。

絵が左右反転する

 

プライヤーを動かそう

プレイヤーキャラを操作できるようにします。

コントローラー の中の mySpriteをボタンで動かす をドラッグします。

ボタンで動かすを選ぶ

最初だけ の中に配置します。

 

プレイヤーの初期位置を変更します。
スプライト の中の mySprite の X を 0 にする をドラッグします。

スプライトの座標指定ブロック

最初だけ の中に配置します。

 

X 座標を 40 に変更します。

スプライトの座標を指定する

 

画面外へ飛び出さないようにします。
スプライト の中の set mySprite stay in screen をドラッグします。
最初だけ の中に配置します。

スプライトが画面外へ出ないようにする

上図の変数名を見てください。
プレイヤーである飛行機は、変数 mySprite で管理しています。
変数に対して、絵の情報、ユーザー操作、座標、画面内制限などを結び付けています。

 

弾を発射させよう

A ボタンを押すと、飛行機から弾を発射するようにします。
コントローラー の中の A ボタンが押した時 をドラッグします。

A ボタンが押した時のブロックを使う

 

最初だけ の外に配置します。

最初だけ処理の外に配置する

 

弾のスプライトを用意します。
スプライト の中の黄色で指定したブロックをドラッグします。
これは特定のスプライトと同じ位置に発射体を発生させます。

他のスプライトから発射体を発生させるブロック

A ボタンが押した時 の中に配置します。

 

絵を選びます。

弾の絵を用意する

 

ギャラリーから弾の絵を選びます。

弾の絵を選ぶ

 

弾が右へ移動するように速度を変更します。
速度 vx 200 vy 0 に変更しましょう。

弾が右へ移動するように速度を変更する

これで発射体は mySprite と同じ位置に作られます。

 

弾を撃ってみましょう。
シミュレーターの A ボタンをクリックしてもいいし、キーボードの z キーまたは space キーを押してもいいです。
下図のように弾のスプライトが発射されます。

弾を撃つ

 

スプライトの表示優先を変更しよう

ゲームに慣れている人は気付いたと思います。
弾が発射された時、弾のスプライトが飛行機の上に被さっています。
「一瞬だからいいのでは」
と思うかもしれません。でも基本的にプレイヤーキャラは常にしっかり見えていることが大切です。
(演出などで意図して隠す場合は別です)

飛行機の上に弾が表示されている

 

どうして弾のスプライトは飛行機の上に表示されるのでしょうか?
それは弾の方が後に作られるからです。指定をしない限り同じ深さにスプライトは作られます。

深さを変更します。
スプライト の中の mySprite の X を 0 にする をドラッグします。

mySpriteのXを0にするブロックを使う

A ボタンが押した時 の中に配置します。

 

変数名を projectile 項目を z(深さ) 値を -1 に変更します。

projectileのz(深さ)を-1にする

変数 projectile は弾のことです。
いきなり出てきた z(深さ)ですが座標は横 x と 縦 y で表現し、奥行き(深さ)は z ということです。
プラス値で手前に、マイナス値で奥に配置されます。

それでは弾を撃ってみてください。飛行機の下から発射されるのが分かると思います。

 

怪獣を出現させよう

敵である怪獣を出現させます。

ゲーム の中の ゲームが更新された時 500 ミリ秒毎 をドラッグします。
これは一定の間隔で処理させたいときに使います。

ゲームが更新された時のブロックを使う

 

A ボタンが押した時 の下あたりに配置します。

ゲームが更新された時のブロックを配置する

 

怪獣のスプライトを作ります。
どんどん出現させるので発射体で作ります。

スプライト の中の黄色で指定したブロックをドラッグします。

発射体を作るブロックを使う

ゲームが更新された時 500 ミリ秒毎 の中に配置します。

 

次回に続きます。

 

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