メッセージ機能は、スプライト間でメッセージを交換する時に使う機能です。メッセージ機能の送る側には、『〇を送る』と『〇を送って待つ』の2種類があります。
種類 | 説明 |
〇を送る | メッセージを送った先のプログラムが終わるのを待たずに、次の命令に進む |
〇を送って待つ | メッセージを送った先のプログラムが終わるまで待って、その後次の命令に進む |
待つとは「メッセージを受け取った処理がすべて完了するまで待つ」という意味です。
【重要】『〇を送る』と『〇を送って待つ』の使い分け
●黒丸『〇を送る』:メッセージを送った側と受け取った側の処理順序に制約がない(どちらが先に動いてもかまわない)場合に使用します。
●『〇を送って待つ』:メッセージを受け取った側の処理がすべて完了したあとに、送った側が処理されないと不都合が起こる場合に使用します。例えば、スプライトごとに初期化処理を一斉に実行させるときは、この『〇を送って待つ』で初期化処理を完了させ、その後に後続処理を実行させます。
【注意】メッセージを受け取った側の処理が完了する前に再度『〇を送る』を実行すると、実行中の処理がキャンセルされるというのが、Scratchの『〇を送る』ブロックの仕様となっています。これらの問題を避けるためには、『〇を送る』ではなく『〇を送って待つ』を使うのが一つの解決方法です。
→メッセージを送り続けたときの問題については、中級編『38.『〇を送る』は、送り続けると動かないよ!』を参照