危険ドライブゲームを作ろう

 

メイクコード アーケード を使ったゲーム作り第四弾です。
過去に行ったことは説明を短くしていきます。
手順が分からないときは前のページを再読しましょう。

 

これから作るゲーム

これまでと違い横向きの画面です。
それでも基本的な仕組みは似たようなものです。
ちょっとした応用で見た目の違うゲームになって面白いですね。

左から出てくる赤い車を避けるだけのゲームです。
プレイヤーは緑の車を上下に操作します。

接触せずドライブするゲーム

残機制のゲームです。
赤い車に3回当たるとゲームオーバーです。
スコアは赤い車が出るたびに +1 されます。

 

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

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

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

 

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

背景画像を設定する

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

 

次に絵を選びます。

背景画像を選ぶ

 

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

道路の絵を選ぶ

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

 

プレイヤーを表示しよう

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

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

スプライトを用意する

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

 

絵を選びます。

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

 

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

緑の車の絵を選ぶ

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

 

プライヤーを動かそう

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

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

ボタンで動かすを選ぶ

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

 

プレイヤーの移動を上下のみにしたいと思います。
下図のところをクリックします。

移動量を指定するボタンを押す

 

速度 vx 0 vy 100 に変更します。

移動量を変更する

vx は横移動の大きさを指定し、vy は縦の移動を指定します。
vx を 0 にすると、横の移動ができなくなります。

 

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

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

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

 

位置を x 141 y 60 に変更します。

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

 

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

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

 

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

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

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

 

背景とリンクさせよう

プレイヤーの車を操作してみてください。
上下にしか動きません。
画面外へ出ることもないです。

しかし、よく見ると背景の道路から飛び出ています。

車が道路の絵から飛び出ている

 

緑の車を監視して、道路から出ないようにします。
ゲーム の中の ゲームが更新されたとき をドラッグします。

ゲームが更新されたときを使用

ゲーム画面は1秒間に何度も書き換えが行われています。
そのたびに処理したいことがあれば ゲームが更新されたとき を使います。

 

どこにも連結させないで配置します。

ゲームが更新されたときは連結させない

 

論理 の中の もし 真 なら をドラッグします。

条件分岐のブロックを使う

 

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

条件分岐をゲームが更新された時の中に入れる

 

もう一度、論理 の中から下図のブロックをドラッグします。
小なりの記号のブロックを使いますが、=(イコール) のブロックを選んでも小なりに変更できます。

値を比べるブロックをドラッグ

 

の部分に配置します。

条件を作る

 

スプライト の中の mySprite の x をドラッグします。

特定のスプライトの値を取得するブロック

 

左の 0 の所に配置します。

条件分の中にスプライトのx座標値を入れる

 

下図を見ながら X から Y へ、0 から 30 へ変更します。

スプライトのy座標値が30より小さいかの式にする

 

スプライト の中の mySprite の x を 0 にする をドラッグします。

スプライトのxを0にするブロックを選ぶ

もし 〜 なら の中に入れます。

 

下図を見ながら Y30 に変更します。

指定した座標にスプライトを移動する

これでもし mySprite の Y 座標が 30 より小さければ、Y 座標を 30 にするという命令ができました。

 

シミュレーターで操作してみてください。背景の道路より上には行かなくなりました。
例えば 30 を 100 に変えて実行してみてください。
制限の範囲がどのように変わるか確認してみましょう。
確認後、30 に戻してください。

背景の道路より上には行かない

今回はじめて条件分岐を使いました。
これまでの中で一番プログラミングらしい処理だと思います。
条件分岐は奥が深いです。これからゆっくりと説明していきたいと思います。

次回に続きます。

 

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