こんにちは!
キッズプログラミング教室「イフキッズアカデミー」
池ちゃん先生です!
久々にScratchでのプログラミングを紹介します。プログラミングのお話なので、難しいお話が出てくるかもしれませんが、ご了承くださいませ。
今回は「まとあてゲーム」を作ってみます。
ゲームのルールはこんな感じ。
①プレイヤーがボールを投げ、まとに当てる。
②スペースキーを押すと、プレイヤーはボールを投げる。
③まとは左右に動く。
④ボールがまとに当たるとまとが割れてクリア。
前回よりもルールが増えました。
実際のプレイ画面はこんな感じです。
このゲームに登場するスプライト(ゲームのキャラクター)は3つ。
・まと
・プレイヤー
・ボール
になります。
では早速作っていきましょう!
■プレイヤー
まずは、プレイヤーのプログラムから作ります。
今回は、プレイヤーとして、ボールを持っている「Dorian」のスプライトを使用します。
ルールに「スペースキーを押すと、プレイヤーがボールを投げる」とありますので、
・スタート時点ではボールを持っている
・スペースキーを押すと、ボールを投げる動きをする
という動きを付けてみましょう。 プログラムはこうなります。
これで、スペースキーが押されたら、ボールを投げているコスチュームに変えて、少ししたらボールを持っているコスチュームに戻しています。
「Dorian」 は投げることを考慮したスプライトになっているので、画伯の私に取っては大助かりです。(苦笑
■ボール
さて、次はボールです。ボールも、最初からScratchに用意されている「Basketball」というスプライトを使用します。
ボールは、
・「スペースキー」が押されたらプレイヤーがいる場所から、上に向かって動く
・まとにあたるか、画面の端まで行くと消える
というように動かしたいので、プログラムはこんな感じ。
スペースキーが押されたら、「Dorian」のところにボールが行って欲しいので、最初に「~へ行く」ブロックを使って、「Dorian」のところに移動させました。
このプログラムは「まとに触れた」か、「端に触れた」まで繰り返し、上(Y座標のプラス方向)に向かって動いていくというところがポイントです。
それと「端に触れた」は用意されていますが、「まとに触れた」のまとはこの先に出てくるスプライトの名前です。ようするに「あるスプライト」に触れたブロックを使っています。
ちなみに「Y座標を10ずつ変える」となっている、10の部分の数字を小さくするとボールが動くスピードはゆっくりに、大きくすると速くなります。
■まと
さて、最後にまとのプログラムを作りましょう。
Scratchで初めから用意されている画像にぴったりのものが無かったので今回は自分で描きました。
こんな感じ。ただの四角ですね。これなら画伯の私でもなんとかなりました。
「当たったよ!」ということが分かりやすいように、ボールが当たった場合はまとが割れるようにしたいので、割れた場合の絵も書きます。
キレイに半分にパカーン!と割れているように、破片が左右対称になるようにしましょう。破片が左右対称になるようにするには、こんな感じで作ります。
Scratchには便利なお絵かき機能があるので、動画を参考に使ってみてください。
まとは
・まとは左右に動く
・ボールがまとに当たるとまとが割れてクリア
でしたね。
左右に動くということは、画面の端まで移動すると今度は反対向きに移動することで実現します。もちろんゲームを開始したら、ずっと移動して欲しいので、ずっと繰り返しを組み合わせます。
つまり、こんな感じのプログラムになります。
「端に着いたら、跳ね返る」ブロックを使用すると、 初めの設定では跳ね返る時くるっとスプライトが回転してしまいます。
回転しないで、ただ横に移動してほしいだけなので「回転方法を回転しないにする」のブロックを使用しています。
あとは、「ボールに触れたらまとが割れる」というプログラムを追加します。
もし「Basketballに触れた」ならという判定をいれればいいですね。
今回は、1回当たれば割れて終了!なので「すべてを止める」としました。
実際の作品はこちらです。
http:// https://scratch.mit.edu/projects/313469685/
簡単そうで意外と難しくなってしまいましたが、ぜひ遊んでみてください。
今回はここまで。
次回はこれを発展させて、「30秒間で何回まとに当てることができるか!?」というゲームにしていきたいと思います。
次回をお楽しみに!
無料体験授業実施中!
毎週火曜日 16:00~17:30、17:40~19:10
毎週木曜日 16:00~17:30、17:40~19:10
毎週土曜日 10:00~11:30、11:40~13:10
※日曜日も臨時で実施していることがあります
お気軽にお問い合わせください
お申し込み・お問い合わせは、こちら。
お電話でも受け付けております。
03-6806-6861
(平日10:00~18:00)
イフキッズLINE@お友だち募集中!
新着授業レポートの通知、無料説明会やイベントの案内など、
耳よりな情報を配信中です。
加えて、お友だち登録されている方には、
イベント参加費の割引、
入会の際の割引、プレゼントなどの特典も!