Scratchのコードでは、イベントが合図となって、コードの実行が始まります。
例えば、あるスプライトに、
というコードを設置すると、そのスプライトがクリックされたことが合図となって、「(こんにちは!)と言う」ブロックが実行されます。
それでは、自分自身ではなくて、他のスプライト又はステージに書かれたコードを実行するように合図を送るようにするにはどうすればよいのでしょうか。
メッセージという機能を用いると、これを実現できます。
メッセージで使うブロックは、「イベント」カテゴリの一番下にある3個です。
例として、ネコがクリックされたときに、クマが「こんにちは!」と言うコードを考えてみます。
ネコとクマのスプライトがステージ上にあります。
ネコとクマに、下のようなコードを設置します。
実行すると、ネコがクリックされたときに、クマへ合図(「メッセージ1」という名前のメッセージ)を送ります。
その合図を受け取ったクマが「こんにちは!」と言います。
Scratchでは、開始時に「メッセージ1」という名前のメッセージがあらかじめ用意されています。
新しいメッセージの作り方
「(メッセージ1)を送る」ブロックの(メッセージ1)の部分をクリックします。
メニューが現れるので「新しいメッセージ」をクリックします。
下のような画面が現れるので、メッセージ名を入力します。ここでは「名前を言ってね」というメッセージ名にしました。
「名前を言ってね」というメッセージ名が加わりました。
メッセージは、全てのスプライトとステージへ送られます。
下は、2つのメッセージを使った例です。
メッセージを送るブロックには、2種類あります。違いは何でしょう。
「( )を送る」ブロック
メッセージを送った後、すぐに次のブロック(このブロックの下につながれたブロック)を実行します。
「( )を送って待つ」ブロック
メッセージを送った後、受け取った側の動作が終わるのを待ってから、次のブロックを実行します。