【Scratch】ボールを当ててスプライトを消してみよう

Scratch

愛知県稲沢市在住の【中小企業診断士✖️IoTプロフェッショナルコーディネーター】が、ものづくりの楽しさをお伝えする《がちゃラボ》です。

今回はScratchを使って、すごく簡単なゲームの基礎の基礎を作ってみたいと思います。1人のスプライト(キャラクター)がボール(のスプライト)を投げて、もう1人のスプライトに当てて消す、というプログラムです。

当てられる方のスプライトは動きません。なので、確実にボールは当たります。操作できるようにしたり、ランダムに動くとシューティングゲームっぽくなりますが、まずは「当たったら消える」という部分を作ってみましょう。

なお、スプライトを複数動かすプログラムは、以下の記事を参考にしてください。

スポンサーリンク

使用するブロック

『コスチュームを〇〇にするブロック』~見た目を変えるためのブロック~

コスチュームを変えるためのブロック

『〇秒待つブロック』~少しのあいだ動きを止めるブロック~

好きな時間待つためのブロック

『〇〇に触れたブロック』~何かに触れた事が分かるブロック~

ものに触れたことを調べるためのブロック

『すべてを止めるブロック』~スクリプトやプログラムを止めるためのブロック~

スクリプトやプログラムを止めるためのブロック

『もしならブロック』~もし〇〇したら、という条件ブロック~

もし〇〇なら、という条件を作るためのブロック

『ずっとブロック』~ずっと繰り返すブロック~

ずっと繰り返すためのブロック

『もしならブロック』と『ずっとブロック』の使い方については、次の記事も参考にしてください。

さあ、プログラミングしてみましょう!

3つ目のスプライトを追加しよう

まずは下記の記事を参考に、馬のスプライトを登場させましょう。そして、ピッチャー(Pitcher)と野球ボール(Baseball)というスプライトを追加し、マウスを使って3つを下図のように並べます。

3つのスプライトをこのように並べよう
  • ピッチャー:ボールを投げる役
  • 馬:ボールを当てられる役

【ピッチャー】投げる動作を作ろう

ピッチャーにボールを投げさせるための動作をプログラムで組みましょう。スプライトごとのプログラムの切り替えは、スプライトエリアでクリックするのでした。

ボールを投げさせるような動作をさせるには、コスチュームを変えていきます。ピッチャー(Picher)にはボールを投げるためのコスチュームがあらかじめ準備されています。確認しましょう。

左上に「コード」「コスチューム」「音」というタブが並んでいるので、「コスチューム」をクリックします。すると、ピッチャーには4つのコスチュームが準備されていて、ボールを投げるような動きになっています。この4つのコスチュームを変えることで、ボールを投げるように動かします。では、プログラムを組みましょう。

タブの中からコスチュームを選ぶ
pitcherには4つのコスチュームが準備されている

この4つのコスチュームを変えるプログラムを作ります。

作成するプログラム

コスチュームを変えてボールを投げる動きをつくる

プログラムの解説

  • 『〇秒待つ』ブロックと、『コスチュームを〇〇にする』ブロックを並べています。これはコスチュームを〇〇にするブロックだけでは早すぎてボールを投げる動きが見えないため、待ち時間を入れました。
  • コスチュームは最初は a の状態から、b ⇒ c ⇒ d と変え、最後は a に戻します。
  • そして d の動作後(投げ終わった後)にメッセージを送るブロックを入れています。これは、ボールに向けての合図として使います。

では、スタートボタンを押しましょう。コスチュームが変わることが分かると思います。まだボールも馬もプログラムを組んでいないので、ただピッチャーが動くだけですね。

コスチュームが a ⇒ b ⇒ c ⇒ d と変わる

【ボール】メッセージを受けて動かそう

次にボールを動かしましょう。ただ、ここで少し工夫をします。それは、ピッチャーの投げる動作のあとに、ボールを表示させて動かす、といったものです。その方が投げているように見えますもんね。

ということで、①事前準備用のプログラム②ボールが投げられるプログラムの2つを作ります。

①事前準備用のプログラム

事前準備とは言っても、使うブロックは1つだけです。それは『隠す』ブロックです。このブロックをポチっとクリックするとボールが消えますので、これで事前準備は完了です。

ボールを隠すためのブロック

②ボールが投げられるプログラム

先ほど、ピッチャーのプログラムの最後で、「メッセージ1」を送りました。このメッセージをボールで受け取って、投げられてように動かします。

メッセージを受け取ってから動くプログラムを作る

プログラムの解説

  • 『メッセージ1を受け取ったとき』ブロックで、「メッセージ1」ボールで受け取ります。
  • ①事前準備で消していたボールを『表示する』ブロックで見えるようにします。
  • 『10歩動かす』ブロックと『10回繰り返すブロック』でボールを動かします。10という数字の部分は好きな数字に変えてください。ボールの速さを変えることができます。

ここまでで、一度スタートボタンを押しましょう。

すると、ピッチャーが投げる動作をしたあと、ボールが表れて馬の方へ飛んでいきました。これで、ピッチャーとボールのプログラムは完成です。

【馬】ボールに当たったら消えるプログラム

最後はボールを当てられる馬のプログラムです。

作成するプログラム

ここでは、『もしならブロック』と『〇〇に触れたブロック』を使って、ボールに当たったことを調べます。

ボール(Baseball)に触れたら消すプログラム

プログラムの解説

  • 『ずっとブロック』を使い、ボールに当たるまで同じ処理を繰り返します。
  • 『もしならブロック』の条件として、『〇〇に触れたブロック』を追加し、〇〇をBaseballに変えます。
  • ボールに触れた後、1秒待ってから馬を隠します。
  • 『ずっとブロック』を止めるために『すべてを止める』ブロックを「このスクリプトを止める」に変えます

また、再度馬を表示させるために、『表示するブロック』も準備しておきましょう。

プログラムの動きを確認

それでは、プログラムをスタートしましょう。

まずは、ピッチャーがボールを投げる動きをします。そして、ボールが馬に向かって飛んでいき、馬に当たったら馬が消えます。

もういちど動かしたいときは、ボールを元の位置に戻して、馬を表示させましょう。

まとめ

今回は、3つのスプライトを使って、スプライトを動かしたり隠したりするプログラムを作りました。応用すると、野球ゲームを作ったりシューティングゲームを作ったりできそうですね。いろいろと試してみてください。

コメント

タイトルとURLをコピーしました