お題Scratch 08 月面着陸

お題Scratch 08 のベース「月面着陸」の作成手順です。

お題Scratch 08 月面着陸 on Scratch by ogaworks

このプロジェクトの特徴

加速度

Scratchの準備

1. スクラッチのサイトhttps://scratch.mit.edu/ にアクセスする。

2. 「作る」をクリックして、プログラミングの画面を開く。

背景を用意する

1. ステージの背景を選択し、ゲームの背景を描く。カラーパレットで地面の色を選択し、ビットマップツールのブラシ(筆)やラインツール(直線)などで描く。線の太さは中位に設定すると描きやすい。空白部分は塗りつぶす。直線を描く際、シフトキーを押しながら描くと垂直もしくは水平な線になる。

2. 着陸成功地点を、地面の表面に設定する。地面とは別の色を使う。

着陸船を用意する

1. 不要なスプライトは削除する。

2. 「新しいスプライト」の「スプライトをライブラリーから選択」でライブラリーを開き、「Spaceship」を選択してOKで読み込む。

3. 読み込まれたSpaceshipのスプライトが大きいので、縮小ツールで適当な大きさに調整する。

4. Spaceshipのコスチュームを開き、「Spaceship-a」をエンジンを噴射している様子に手直しする。

5. Spaceshipのコスチューム名をわかりやすいように「噴射」と「降下」に変更する。

着陸船を降下させる

着陸船を上空に配置し、地面につくまで降下させる。

1. Spaceshipのスクリプトを開き、イベントの「旗がクリックされたとき」を追加する。次に、見た目の「コスチュームを〜にする」を追加し、降下のコスチュームを指定する。

2. 見た目の「◯度に向ける」を追加して角度に90度を指定し、「x座標に◯、y座標に◯にする」を追加してそれぞれx=220、y=160を指定する。

3. 落下スピードを設定するための変数を作成する。データの「変数を作る」で、すべてのスプライト用の新しい変数「y_speed」を作成する。

4. 同様に、横移動のスピードを設定するための変数「x_speed」を作成する。

5. 作成した変数を初期化する。旗をクリックしてプログラムがスタート後、Spaceshipはステージの左・下に向かって落ちていく。x_speedが左方向への移動量、y_speedが、下方向への移動量。

6. 新しくもう一つイベントの「旗がクリックされたとき」を追加する。次に、制御の「〜まで繰り返す」をセットし、条件の〜には、調べるの「〜色に触れた」を追加し、色には地面の茶色を指定する。

7. 繰り返しの中に、動きの「x座標を◯ずつ変える」と「y座標を◯ずつ変える」を追加し、それぞれにデータの変数「x_speed」と「y_speed」を設定する。

ここで、旗をクリックして動きを確認する。

縦方向には、y_speedで設定した速さ(ここでは-1)で落下していく。値を変えて変化を見てみよう。

着陸船に重力加速度(重力により生じる加速度)を追加する

重力加速度とは、地球の重力が生み出す加速度のことです。

何もキーが押されていない時、重力加速度によって落下速度をあげます。

1. 「茶色に触れたまで繰り返す」のループに、制御の「もし〜なら」を追加。条件に、「何もキーが押されていない」を指定したいので、調べるの「〜キーが押された」と演算の「〜ではない」を組み合わせて、「どれかのキーが押されたではない」を設定します。

2. 作成した条件分岐の中で落下速度を上げるため、データの変数「y_speedを◯ずつ変える」を追加し、0.05ずつy_speedを減らします。

この変更分を変更して、着陸船が落ちるスピードを見てみよう。

スペースキーで下方向に噴射

下方向に噴射して、落下速度をゆるめる。

1. 「茶色に触れたまで繰り返す」のループに、制御の「もし〜なら」を追加。条件に、調べるの「〜キーが押された」をセットし、キーに「スペースキー」を設定します。

2. 落下速度をゆるめるために、スペースキーが押されている間だけy_speedを少し増やす。データの「〜を◯ずつ変える」で、y_speedを0.05ずつ変える。

3. スペースキーを押している間は、Spaceshipのコスチュームを「噴射」にする。また、向きを上向きにする。

4. キーを離した時はコスチュームを「降下」にする。

旗をクリックしてスペースキーの動作を確認しよう。

カーソルキーで左右に噴射

スペースキーで下方向に噴射して落下速度をゆるめたのと同様に、左右のキーでそれぞれ左右に噴射して、降下位置を調整できるようにする。

1. 左右のキーが押された時に、変数x_speedをそれぞれ0.1、-0.1ずつ変える。また、左右の噴射時もコスチュームを「噴射」に変えて、向きをそれぞれの方向に向ける。

2. キーが押されていない場合はコスチュームを「降下」にし、向きを戻す。

着陸の処理

茶色に触れると、ループを抜けてSpaceshipの動作が終了する。その時点で、黄色に触れていたら着陸成功とする。

1. 茶色に触れるまで繰り返すループの下に、制御の「もし〜なら、でなければ」の条件分岐を追加し、条件部分に調べるの「〜色に触れた」、色には着陸地点の黄色をセットする。

2. 条件分岐の両方に、見た目の「〜と◯秒言う」のブロックをそれぞれ追加し、着陸成功時と失敗時のメッセージを設定する。

完成

お題に挑戦

このプロジェクトを元に、以下のようなお題に挑戦してみてください。

  • 着陸速度を制限する
  • BGMや効果音を追加する
  • 得点をつける
  • 噴射を制限
  • 難易度やステージを追加する

お題Scratchシリーズ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です