更新日:、 作成日:

スクラッチ メッセージを使って他のスプライトを操作する

はじめに

Scratch (スクラッチ) 3 のメッセージを使って他のスプライトを操作する方法を紹介します。

メッセージを使うと、それを受け取ったすべてのスプライトやステージを操作できるようになります。

複数のスプライトを同時に動かしたいときにも使います。

イベントブロックについては「イベントブロックの使い方」をご覧ください。
複数の処理を同時に動かすには「複数の処理を同時に実行する」をご覧ください。

メッセージとは

event

スクラッチのコードは、自身のスプライトやステージに対して操作を行います。しかし、イベントブロックのメッセージは、他のスプライトやステージを操作できます。

メッセージには「送る」と「受け取る」があります。

  • 送る:他を操作したいスプライトはメッセージを送ります。
  • 受け取る:他のスプライトなどは、そのメッセージを受け取ります。そのときに メッセージを受け取ったとき ブロックのイベントが発生します。そこで受け取ったときの処理をします。

メッセージを作成する

メッセージを作成するには、メッセージ関連のブロックの [▼] をクリックして [新しいメッセージ] をクリックします。

23

メッセージの [名前] を入力して [OK] をクリックします。

24

その名前のメッセージが作成されます。

25

作成したメッセージはすべてのスプライトやステージで使用できます。作成したメッセージを使うブロックをコードから削除すると、作成したメッセージも削除されます。

メッセージ

broadcast-message

指定した メッセージ を送ります。

broadcast-message-wait

指定した メッセージ を送ります。 メッセージを受け取ったとき ブロックの処理が終わるまで、次の処理が実行されません。

when-recive-message

指定した メッセージ を受けとったときに発生します。

他のスプライトやステージが送ったメッセージも受け取れます。

ネコがメッセージを送ります。

19

ヒヨコが「ヒヨコさん」メッセージを受け取ったら返事をします。

20

カエルが「カエルさん」メッセージを受け取ったら返事をします。

21

「ヒヨコさん」メッセージを送ります。受け取ったヒヨコが返事をします。カエルには「ヒヨコさん」メッセージを受け取った処理がないので何もしません。

22

このようにネコのスプライトがメッセージを送ると、ヒヨコやカエルが受けっとって処理できます。誰に送るのかは指定しません。すべてのものに送られます。

複数のスプライトなどがメッセージを受け取ると、それらは同時に処理を行います。複数のスプライトで同時に音を出したいときなど、同時に動かしたいときはメッセージを使います。