この記事のポイント
スプライト(キャラクター)をふやす方法を説明します。
はじめに スプライトを増やしてよりにぎやかにしたい、を解決
前回の記事で、マウス操作で自分の思いどりにスプライトを動かすプログラムをつくりました。いよいよゲームをつくってきる感覚になってきたと思います。
今回の記事では、今まで1人だったスプライトキャットくんに友達を増やします。画面にたくさんのスプライトがいると、よりゲームっぽくなりますね。
ただもう1つスプライトを増やすだけでは面白くないので、スプライトキャットくんを自動で追いかけるようにプログラミングしてみます。
前回の記事
前回の記事では、マウス操作で自分の思いどおりにスプライトを動かすプログラムをつくりました。
スクラッチは以下から始めることができます!完全無料!
プログラミング
完成作品
完成したプログラムはこのようになります。実行ボタンを押してマウスを操作するとスプライトキャットを自由に動かすことができます。それについていくように友達のスプライト(ピコくんです)が動きます。
ピコくんは足が遅いのでスプライトキャットくんはピコくんからカンタンに逃げることができると思います。
今回の完成プログラムは2人のスプライト分つくります。1人のスプライトに1つプログラムをつくるのが基本になります。
スプライトの増やし方
まずさっそくスプライトを増やしましょう。
実はこれまでに一度やったことがある方法でできます。
画面右下の「スプライトを選ぶ」をクリックします。
すると、スプライトを選択する画面に切り替わります。
今回は、わたしの好きな「ピコくん」をえらびます。歩いているようにみせたいので、歩きコスチュームがある「Pico Walking」をえらんでください。
他に好きなスプライトがいれば、それをえらんでもらっても全然OKです。
スプライトをえらぶと、画面右の「ステージ」と画面右下の「スプライトエリア」に「ピコくん」がふえていることがわかります。
ピコくんでかいな。。。
ふやしたスプライトのプログラミング方法
ふやしたスプライトにもプログラムをつくってやる必要があります。
スクラッチの基本として、1つのスプライトに1つのプログラムをつくります。
これ重要です。
では、さっそくもう1つのスプライトのプログラミングをしていきます。
まず、スプライトのプログラムを切り替えるときは、画面右下の「スプライトエリア」でプログラミングしたいスプライトを選びます。いまプログラミングをしているスプライトは青枠で表示されるようになります。また、画面中央の「スクリプトエリア」の右上にも、プログラミング中のスクリプトが半透明で表示されます。
スプライトの大きさをかえる
スプライトキャットくんにくらべてピコくんが大きいのが気になります。ここではスプライトの大きさをかえてみましょう。
画面右下の「スプライトエリア」の大きさの値をかえてみましょう。最初は「100」が入力されていると思いますが、「75」を入力してみましょう。
すると、ピコくんの大きさがスプライトキャットくんと同じくらいなったと思います。
スプライトの大きさの調整は、ステージエリアを見ながらいろいろ試してやってみてください。
もう1つのスプライトの方をつねに向くようにする。
では、ピコくんがスプライトキャットを追いかけるようにプログラムをつくっていきます。
まずは、いつものとおり「初期化」プログラムをつくります。このようにブロックをつなげて、はじめの位置とコスチュームを決めてください。
さらに「ずっと」うごかしたいので「ずっと」ブロックを使います。
つぎに、ピコくんをスクラッチキャットくんにつねに追いかけるようにしたいです。
ということは、常にピコくんはスクラッチキャットくんの方を向くようにすればいいということを思ついたでしょうか?
そのようなブロックがないか探してみると・・・。
ありました!「動き」の「〇へ向ける」のなかで「スプライト1」をえらんでください。
そして、「ずっと」ブロックの中にいれてください。
この状態で、一度「実行」してみましょう。スクラッチキャットをうごかすとピコくんがつねにスクラッチキャットの方を向くようになったと思います。
こうやってやりたいことから、それを実現する方法をさがすのがまさにプログラミング思考ですね!
もう一つのスプライトの方へうごくようにする。
では、最後の仕上げで、ピコくんがスクラッチキャットくんをずっと追いかけるようにします。
ここから先は今まで習ったことでできてしまいます。
まずは歩いているように見せます。これはやったことがあるのでカンタンですね。
このようにプログラムをくみます。「スプライト1へ向ける」ブロックの上に「0.1秒待つ」ブロック、「次のコスチュームにする」ブロックを追加します。
つぎに、ピコくんがスプライトキャットくんを追いかけるようにします。
ピコくんはずっとスクラッチキャットくんの方を向いているので、あとはその方へ動くようにするだけでOKですね。
使うブロックは、「10歩動かす」ブロックです。このブロックを「スプライト1へ向ける」ブロックの下に追加します。
これでピコくんがスクラッチキャットくんをずっと追いかけるプログラムが完成しました。お疲れ様です!
とてもゲームっぽくなってきましたね!
【少し発展】ピコくんから逃げられない! ピコくんを速くする
今のピコくんの足の速さではなかなかスクラッチキャットくんに追いつくことはできません。これでは追いかけっこゲームとしては面白くないですね。
では、ピコくんの足を速くしてみましょう。
ピコくんのプログラムの中の「10歩動かす」ブロックを、このように「30歩」にふやしてみましょう。
これで「実行」してみてください。さっきよりピコくんから逃げるのが難しくなったと思います。
これをさらに「50歩」、「100歩」としていくと、もはやピコくんはスクラッチキャットくんにピッタリになったしまいます。
ピコくんから逃げられない!!!
プログラミングは学校の勉強を遊びながら学べる!
この速さの変え方は、プログラム中の「0.1秒待つ」(じかん)間に「10歩動かす」(きょり)の「きょり」を変えていることになります。
これはまさに、学校で習った算数の速さ(はやさ)の公式です!
同じ「じかん」の間に、動く「きょり」を大きくすれば、「はやさ」も大きくなります。
はやさ = きょり ÷ じかん
このようにプログラミングでは遊んでいるような感覚で算数の考え方も身に付くのです!
すごいぞ!プログラミング!
【現場小ネタ】 マルチタスクプログラム
今回行った2つのスプライトを同時に動かすプログラムを、実際のプログラミングでは、「マルチタスクプログラム」と呼びます。
例えば皆さんが使っているパソコンでも、このようなことをよく行うとおもいます。
- インターネットでYoutubeで音楽を聴きながら
- ワードで文章を書く
これがまさにマルチタスクプログラムです。正確にはマルチスレッドと呼ばれたりします。
2つの別々のプログラムをあたかも同時に「動いているように見せている」のです。
このマルチタスクプログラムのおかげで私たちは、1つのパソコンで同時にいろいろな作業ができるのです。
マルチタスクプログラムのおかげで、私たちはとても便利になっているのですね!
このようのかなり実践的なプログラミングもスクラッチでは体験できてしまいます。すごいぞ!スクラッチ!
次回
次回は「もし」ブロックを使ってゲームオーバーを作ってみます。ゲームオーバーがあるとよりゲームっぽくなりますね。そしてプログラミング3大要素の1つの「もし」=「条件分岐」ができるようになります!お楽しみに!
コメント