プログラミング入門

プログラミング初心者のためのScratch(スクラッチ)入門-メッセージのこと

プログラミング初心者の子供に何を教えたらいいの?とお悩みの保護者のためのScratch(スクラッチ)の入門講座。Scratchで猫の動かし方はわかったけど・・・次にどんなことをしたらいいの?という疑問にお答えするシリーズです。

今回は「メッセージ」について解説します。Scratchでは「メッセージ」をよく使います。メッセージを使うと、アニメーションなどが作れるようになりますよ。
 

1. Scratchのメッセージって何?

メッセージってよく聞くけど、プログラミングのメッセージって何?っていう方も多いと思います。メッセージ機能の基本についてまとめてみました。
 

1-1. メッセージとは?

Scratchには「『何か』が起こった時」にプログラムが起動する仕組みがあります。イベントのブロックを見てみると、『何か』の種類が分かります。

「何かが起こった時」の「何か」はつぎの5種類です。
 (1)緑の旗がクリックされたとき
 (2)何かのキーが押されたとき
 (3)スプライトがクリックされたとき
 (4)音量、タイマー、ビデオモーションの値が指定した値より大きいとき
 (5)メッセージを受け取った時

このうち(1)〜(4)はユーザーの操作などによるものですが、(5)のメッセージだけはユーザーの操作に関係なく使うことができるものです。上のブロックからもわかるように、プログラムの途中にメッセージを送ることができ、そのメッセージをきっかけに別のプログラムを起動することができます。
 

1-2. スプライトからメッセージを送ってみよう

では実際にScratchでメッセージを送ってみましょう。まずはスプライトからメッセージを送る方法です。
ネコとイヌのスプライトを用意します。

ネコのの方のプログラムは次のようにします。

メッセージを送るの「メッセージ1」横の▼をクリックし「新しいメッセージ」を選択します。メッセージは「あいさつ」と入力しましょう。すると、ブロックの中に「あいさつ」が入ります。

次にイヌのプログラムは次のようにします。

緑の旗をおしてみましょう。ネコが100歩進んだあとに、イヌが「Hello!」と言いました。このように、メッセージを使うと、あるプログラムの途中で別のスプライトのプログラムをスタートさせることができますよ。

 

1-3. メッセージの範囲

先ほどは、ネコのスプライトからメッセージを送信して、イヌのスプライトがメッセージを受け取りました。他のスプライトもメッセージを受け取ることができるのでしょうか?
新たにキツネのスプライトを追加し、イヌと同じプログラムを追加しました。

緑の旗を押してプログラムを実行すると、イヌとキツネ両方同時に「Hello!」と言いました。メッセージは複数のスプライトに届くということがわかりました。

なお、「背景」もメッセージを受け取ることができます。背景に次のようなプログラムを作ってみました。

実行結果はこちら。イヌとキツネのセリフと同時に背景の色が変わりました。

 

1-4. メッセージを送って待つ

メッセージを送信するブロックには
 ・〇〇を送る
 ・〇〇を送って待つ
の2種類があります。

この違いを確かめるために、ネコのプログラムを次のように変更します。

「あいさつを送る」の後に「Hello!と2秒言う」を追加しました。

このプログラムを実行すると次のようになります。ネコ・イヌ・キツネが同時に「Hello!」と言っています。

では次に「送る」のブロックを「送って待つ」ブロックに変更します。

このプログラムを実行すると、まずイヌとキツネが「Hello!」と2秒言います。

その後で、ネコが「Hello!」と2秒言います。

「送って待つ」を使うと、「〇〇を受け取った時」に続くプログラムが終わった後に、続きのプログラムが実行されるということがわかりました。

 

2. メッセージを使ったプログラム

メッセージの使い方がわかったところで、メッセージを使った作品を作ってみましょう。
 

2-1. メッセージで背景が切り替わるアニメーション

簡単なアニメを作ってみましょう。背景3種類と、ストーリーに合わせてスプライトを用意しておきます。

ネコのプログラムのみ参考に掲載しておきます。メッセージをたくさんつかって、次のスプライトにセリフを言わせたりしています。

完成したアニメはこんなストーリーになっています。

最初のシーンでは、ネコとイヌがセリフを言ってロケットに乗り込みます。

次はロケットが宇宙を旅するシーンです。惑星と地球も動かしてみました。

最後、月に到着したシーンです。ネコとイヌがロケットから降りてきます。宇宙人っぽい青いスプライトが「月へようこそ」と言って、おしまいです。

完成したプログラムはこちらです。実際にどのようなセリフや動きをするのか、以下のプログラムを動かして楽しんでみてください。

2-2. ゲームのゲームオーバーを作る

ゲームを作った時に、メッセージを使ってゲームオーバー画面を表示することができます。例えば以下のようなゲームがあります。

このゲームでは、鳥が地面(黄緑色)もしくは土管(緑色)に触れるとゲームオーバーです。
鳥のプログラムはこのようになっています。

 

2-3. クローンとメッセージ

どのように使うかすぐに思い浮かばないのですが、クローンもメッセージを受け取ることができます。
 

4. まとめ

今回は、メッセージの使い方と使用例について解説しました。
メッセージを使うと、プログラムを思い通りの順番で動かすことができるのでとても便利ですね。

メッセージ機能には以下のようなものがありました。
 ・スプライトもしくは背景からメッセージを送ることができる
 ・他のスプライトや背景は同時にメッセージを受け取る
 ・「メッセージを送って待つ」を使うとメッセージ受け取り先のプログラムが終わるまで、待機する。
 ・クローンもメッセージを受け取れる

まずは、自分で作ったプログラムにメッセージを使ってみて、ゲームオーバーの画面などを足したりなどのアレンジを加えてみてはいかがでしょうか。

伴野悠佳 / YUKA TOMONO
この記事の著者伴野悠佳 / YUKA TOMONO
教育ヲタクの1児の母。自称ニコニコキッズクリエーター。東京理科大学大学院卒。元SE。小学生の頃から教育書を読んでいた教育ヲタク。大学では、電池の素材の性質について実験とコンピューターシミュレーションを比較する研究を行っていたことがきっかけでSEになる。出産&育休後、子ども向けプログラミング教室講師、子どもたちの考える力を育てるオンライン塾の講師。