【Scratch】ドッジボールDodgeballゲームを作ろう!<レベル1>

2019年5月2日

新しくなったScratch3.0でドッジボールDodgeballゲームを作りました。
ドッジボールDodgeballゲームでは、重力・乱数などの変数や座標について学べます。
少し難しいですが、Scratchのリミックスなので、他の人の作品の中身で確認することもできます。ゆっくり学んでいきましょう。

【Scratch】ドッジボールDodgeballを作ろう!

さぁ、【Scratch】「ドッジボールDodgeballゲームを作ろう!」でプログラミングをはじめよう。

【Scratch】「ドッジボールDodgeballゲームを作ろう!」で学べる知識

  • 繰り返し(ループ)
  • 条件文(もし〇〇なら)
  • 角度
  • 変数
  • 重力
  • 座標
  • 乱数
  • コスチュームの切り替え

まずは【Scratch】「ドッジボールDodgeballゲームを作ろう!」の工程をかくにん

  1. リミックスから背景が入っているのを確認
  2. 歩くキャラクターを追加
  3. キャラクターを左右に動かせるようにプログラミング
  4. キャラクターを縦に動かすプログラミング
  5. ゲームオーバーを設定
  6. キャラクターの移動に「重力」という変数を設定
  7. キャラクターのジャンプを設定
  8. ボールの動きをプログラミング
  9. レーザーLaserを描画
  10. レーザーの動きをプログラミング
  11. バグ(不具合)を修正し完成です!

1 リミックスから背景が入っているのを確認

今回もCodeClubのプロジェクトを使用します。
前回はレベル1でしたが、今回はレベル2のドッジボールです。
チュートリアルを上から順番にできたらチェックしていくと、ゲームが完成するようになっています。
Scratchへのリンクからドッジボールのリミックスを作っていきます。

2 歩くキャラクターを追加

キャラクターはコスチュームが2パターン以上あって、歩いているようにみえそうなものを選びます。
そのままだと、背景に対して大きすぎるので、大きさを半分くらいにしましょう。

歩くキャラクターを追加/【Scratch】「ドッジボールDodgeballを作ろう!」

3 キャラクターを左右に動かせるようにプログラミング

キャラクターを左右に動かすには、どうしたら良いでしょうか?
動かすのは、スタートしたら、ずっとなので、「ずっと」ブロックを使います。
左右への動作は、矢印キーを押したときに連動するようにしたいので、「もし○○なら」ブロックを使いましょう。
歩いているように見せるためには、コスチュームが変わっていくと、そんな感じに見えますね。
また左右は、角度でいうと何度のことでしょうか?
一つ一つ考えながら、設定していきます。

キャラクターを左右に動かせるようにプログラミング/【Scratch】「ドッジボールDodgeballを作ろう!」

4 キャラクターを縦に動かすプログラミング

キャラクターを縦に動かすには、どうしたら良いでしょうか?
試しに動かしてみると、y座標が動いていることが分かります。
では、どういう場合にキャラクターの座標が動くと良いでしょうか?
背景では、縦にピンク色の線が入っています。
そうすると、矢印キーを上に押したときで、かつ、ピンク色の線に触れたときに、上に動くように設定していくと良さそうです。

キャラクターを縦に動かすプログラミング/【Scratch】「ドッジボールDodgeballを作ろう!」

ブロックの中の色を変えるには、色をクリックし、背景のようなマークが出てきたら、それをクリックして背景にある線に触れると変えられます。

5 ゲームオーバーの設定

背景には右上に緑色の線があります。
ここをゴールに設定しました。
キャラクターが緑線に触れたら「ゲームオーバー」といい、動きを止めるようにしました。

ゲームオーバーの設定/【Scratch】「ドッジボールDodgeballを作ろう!」

6 キャラクターの移動に「重力」という変数を設定

試しにキャラクターを動かしてみると、線から離れ浮いているように見える場面があります。
そこで、「重力」という名の変数を作って、線を離れた場合、キャラクターのy座標位置を動かすようにします(画像ではx座標になっていますが、その後y座標に修正しました)。

キャラクターの移動に「重力」という変数を設定/【Scratch】「ドッジボールDodgeballを作ろう!」

7 キャラクターのジャンプを設定

スペースキーを押したときに、ジャンプするように設定します。
y座標が動くと、ジャンプしているように見えます(画像ではx座標になっていますが、その後y座標に修正しました)。
試しに動かしてみます。
少しぎこちない感じがします。

キャラクターのジャンプを設定/【Scratch】「ドッジボールDodgeballを作ろう!」

条件文を使って、その中で変数「ジャンプの高さ」を新たに作成し、高さやy座標を修正します。
詳しくは、下記画像を参照してください。

キャラクターのジャンプを設定/【Scratch】「ドッジボールDodgeballを作ろう!」

8 ボールの動きをプログラミング

お好きなボールのスプライトを追加してください。
大きさはキャラクターに合わせて縮小させます。
ゲームスタート時にはボールは隠れていて、徐々にクローンで増殖していくよう設定します。
ボールがキャラクターに当たると、キャラクターはスタート地点に戻るようにしたいので、別途キャラクターに触れたら「hit」というメッセージを送るブロックを作成します。
ボールは、背景の中を線に沿って、落ちていくように設定します。
設定では、x・y座標の位置をしっかり把握しましょう。

ボールの動きをプログラミング/【Scratch】「ドッジボールDodgeballを作ろう!」

これでボールを動かしてみると、一番上のレーンでしか動いてくれません。
そこで、「このクローンを削除する」の上にブロックを追加します。

ボールの動きをプログラミング/【Scratch】「ドッジボールDodgeballを作ろう!」

ボールが同じものばかりだと味気ないので、色や大きさに変化をもたせてみました。

ボールの動きをプログラミング/【Scratch】「ドッジボールDodgeballを作ろう!」

9 レーザーLaserを描画

ゲームの難易度を上げるために、ランダムに出現する赤いレーザーを作ります。
オンのときは、縦に線が入り、オフのときは、上下の点だけのものです。

レーザーLaserを描画/【Scratch】「ドッジボールDodgeballを作ろう!」

10 レーザーの動きをプログラミング

レーザーはオンとオフの2パターンを作りました。
これらを乱数を使ってランダムに切り替えましょう。

レーザーの動きをプログラミング/【Scratch】「ドッジボールDodgeballを作ろう!」

ボールと同じように、キャラクターがレーザーに触れたらhitを送るように設定します。

11 バグ(不具合)を修正し完成です!

緑色の旗をクリックし、ゲームをスタートしてみます。
すると、キャラクターの動きがおかしいです。
中を見ると、「y座標」と設定するところを2箇所「x座標」としていました。
これを直すと正常に動きました。

バグ(不具合)を修正し完成です!/【Scratch】「ドッジボールDodgeballを作ろう!」

最初は誰だって初心者です。
やりながら順番に覚えていきましょう。
さぁ、プログラミングをはじめましょう。