【Scratch】雪合戦ゲーム

2019年6月7日金曜日

CodeClub Scratch Scratch3.0 オンライン学習 レベル1 算数

t f B! P L Pi

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





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




【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>/雪玉を投下<br/>




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





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





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




3 リアルな動き





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





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




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





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





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




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





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




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





4 ターゲット





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





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




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





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




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





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





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





【雪玉のブロック】





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




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





【トナカイのブロック】





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




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





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





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




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





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




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





【雪玉のブロック】





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




【トナカイのブロック】





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





https://kodomocode.net/scratch-sprint/





https://kodomocode.net/catch-the-dots/




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






Translate

このブログを検索