スポンサーリンク

【Scratch】雪合戦ゲーム<レベル1>

目標に向けてスノーボール(雪玉)を投げなければならないゲームを作ります。
マウスポインタを使って雪だる​​まを傾け、マウスボタンを押したまま雪だるまの力を選びます。
ここでは、マウス入力に反応する方法やメッセージの送受信の方法・使い方などが学べます。

【Scratch】雪合戦ゲーム<レベル1>/

【Scratch】雪合戦ゲーム

このプロジェクトでは、目標に向けてスノーボール(雪玉)を投げなければならないゲームを作ります。
マウスポインタを使って雪だる​​まを傾け、マウスボタンを押したまま雪だるまの力を選びます。

さぁ、【Scratch】「雪合戦ゲーム」でプログラミングをはじめよう。

【Scratch】「雪合戦ゲーム」で学べる知識

  • アニメーションスプライトの方法
  • マウス入力に反応する方法
  • メッセージの送受信の方法・使い方

まずは【Scratch】「雪合戦ゲーム」の工程をかくにん

  1. 雪玉をつくる
  2. 雪玉を投げる
  3. リアルな動き
  4. ターゲット

1 雪玉をつくる

Scratchスタータープロジェクトを開きます。
オンライン:スタータープロジェクトを開きます。

Scratchアカウントをお持ちの場合は、[ リミックスRemix ]をクリックしてコピーを作成できます。
オフライン:オフラインエディタでスタータープロジェクトを開きます。
Scratchオフラインエディタをダウンロードしてインストールする必要がある場合は、rpf.io / scratchoffにあります。
スタータープロジェクトでは、空白のステージとスノーボール(雪玉)スプライトがあることを確認してください。

「スノーボール(雪玉)」スプライトには2つのコスチュームあります。
通常のコスチューム、そしてスノーボールがどちらの方向を向いているかを示すもの、の2つが含まれています。

【Scratch】雪合戦ゲーム<レベル1>/雪玉追加

まず、プレイヤーが雪玉の角度を変えられるようにしましょう。
この下のコードを雪玉スプライトに追加してください。

【Scratch】雪合戦ゲーム<レベル1>/雪玉ブロック

できたら緑色の旗をクリックしてプロジェクトをテストします。
マウスボタンを押すまで、雪玉がマウスを追うように見えたら成功です。

次に、雪玉をどれだけ強力に投げるかをプレイヤーに決めさせましょう。
「パワー」という新しい変数を作成します。

【Scratch】雪合戦ゲーム<レベル1>/変数「パワー」追加

「パワー」の表示をステージの一番下、雪玉の近くにドラッグします。
そして「パワー」を右クリックして「スライダー」をせんたくします。

【Scratch】雪合戦ゲーム<レベル1>/変数の表示

緑の旗がクリックされたときに、新しい変数「パワー」を0に設定するコードを追加します。
「緑の旗」と「0.5秒待つ」の間に追加。

【Scratch】雪合戦ゲーム<レベル1>/雪玉ブロック

今度は、雪玉のパワーを調節するコードをブロックの一番下にくっつけます。

【Scratch】雪合戦ゲーム<レベル1>/雪玉のパワー調節

このコードは、方向を選択した後に、スノーボールのパワーを選択するために、マウスボタンを押し続けなければならないことを意味します。
ここまでできたら、角度とパワーを選ぶことができるかどうかテストしてみましょう。

【Scratch】雪合戦ゲーム<レベル1>/雪玉のパワー

2 雪玉を投げる

雪玉を投げるブロックを、最後にくっつけます。
「メッセージ1を送って待つ」を一番下にくっつけてください。
余裕がある人は、メッセージを「投げる」に変更します。

【Scratch】雪合戦ゲーム<レベル1>/雪玉を投げる

次に、実際に雪玉が飛んでいくブロックをつくります。
「メッセージ1(投げる)を受け取ったとき」「コスチュームをsnowballにする」「端に触れた まで繰り返す」「パワー 歩動かす」「隠す」という一連のブロックを、これまでつくった固まりとは別で新しくつくります。
一度テストしてみます。すると、雪玉が勢いよく飛んで、戻ってきません。
そこで、「緑の旗が押されたとき」のブロックの「コスチュームをsnowball-aimにする」の下に「表示する」をはさみます。

【Scratch】雪合戦ゲーム<レベル1>/雪玉を投下

では、もう一度テストしてみましょう。
雪玉が飛んでいったあと、もう一度緑の旗を押すと、雪玉がパワーの表示の下に戻ってきてればOKです。
いろいろな角度で、いろいろなパワーで試してみてください。

雪玉を何度も投げられるように、「緑の旗」の下を「ずっと」のブロックで囲みましょう。

【Scratch】雪合戦ゲーム<レベル1>/雪玉のブロック

3 リアルな動き

これで雪玉ができましたが、もう少しリアルに動かしましょう。
最大のパワーレベルを設定しましょう。
そうすれば、雪玉が激しく投げられないようになります。
パワーが20未満の場合にのみ、パワーを上げる必要があります。
「マウスが押された ではない まで繰り返す」の中のブロックを追加します。
コードを次のように変更してください。

【Scratch】雪合戦ゲーム<レベル1>/雪玉のパワー調整

ここまでできたら、一度テストしてみます。
パワーが20を超えないことがわかります。

雪上を飛ぶときにパワーをわずかに下げることで、雪玉を減速させることもできます。
このコードブロックを雪玉の「メッセージ1(投げる)を受け取ったとき」の「パワー 歩動かす」の下にパパワーを-0.25ずつ変える」を追加してください。

【Scratch】雪合戦ゲーム<レベル1>/雪玉に重力追加

ここまでできたら、一度テストしてみます。
雪玉が飛んでいったものの、雪玉が後ろに戻ってきてしまうかもしれません。
そこで、今追加したコードをif文「もし~なら」で囲み、パワーが低下する条件をパワーが0を超えたときのみ、とします。

【Scratch】雪合戦ゲーム<レベル1>/雪玉に条件文

雪玉を手に持っていて、離せば雪玉は地面に落ちていきます。
これが重力です。
このゲームでも雪玉に重力を加えます。
次のコードを使用して、雪玉を連続的に下に動かし重力を加えます。
先ほど追加した「もし~なら」の上の「パワー 歩動かす」の上に、「y座標を-5ずつ変える」を追加します。
できたら、もう一度テストしてみましょう。
実際に雪玉を投げるときの軌道のように、放物線(ほうぶつせん)を描いて山なりに雪玉が動いていくのが分かります。

4 ターゲット

雪玉のターゲットを追加しましょう。
プロジェクトに別のスプライトを追加してください。
私は、トナカイさんを追加しました。

【Scratch】雪合戦ゲーム<レベル1>/ターゲットのトナカイ

トナカイ(またはほかのスプライト)のブロックをつくっていきます。
トナカイは、雪玉を当てられたら、「やられたー」と1秒言う、ようにしましょう。

【Scratch】雪合戦ゲーム<レベル1>/トナカイのブロック

ここまでできたら、テストしてみましょう。
雪玉がトナカイに当たり、トナカイが「やられたー」と言ったらOKです。

次に、ゲームを難しくするためにいくつかのことをしましょう。
まず、プレイヤーが雪玉を投げるたびにトナカイを動かしましょう。

これを行うには、雪玉のブロックで「緑の旗」「ずっと」「パワーを0にする」の下に、「メッセージ2(一投)を送る」を追加します。
これで、トナカイに新しい攻撃がとられようとしていることを知らせます。

【雪玉のブロック】

【Scratch】雪合戦ゲーム<レベル1>/雪玉のメッセージ

今度は、トナカイのブロックをつくります。
トナカイは、このメッセージを受け取ったら、次のコードを使って任意の位置に移動します。

【トナカイのブロック】

【Scratch】雪合戦ゲーム<レベル1>/メッセージの受け取り

ここまでできたら、一度テストしてみましょう。
トナカイが、左右に動いたら成功です。

雪玉の前に岩を追加してゲームをもっと難しくします。
スプライトライブラリから「岩」を追加します。

【Scratch】雪合戦ゲーム<レベル1>/岩の追加

雪玉のブロックを変更し、画面の端に触れたとき、または岩に触れたときに停止するようにできます。
雪玉のブロックで「メッセージ1(投げる)を受け取ったとき」の下にあります「端に触れた まで繰り返す」を「端に触れた か 岩に触れた まで繰り返す」にします。
岩は英語でRocksといいます。

【Scratch】雪合戦ゲーム<レベル1>/雪玉が岩に当たったら

これでゲームは完成です。
お疲れ様でした。
余裕のある人は、背景を変えたり、トナカイを小さくしてもっとゲームを難しくしたり、音を出したりすることにも挑戦してみましょう。

【雪玉のブロック】

【Scratch】雪合戦ゲーム<レベル1>/雪玉ブロックのまとめ

【トナカイのブロック】

【Scratch】雪合戦ゲーム<レベル1>/トナカイのブロックのまとめ

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