速習!スクラッチ講座

SCRATCH

「送る」と「送って待つ」の違い

メッセージを送るには、「~を送る」と「~を送って待つ」の2種類があります。

2つ用意されているということは、やっぱり使い分ける意味があるんですね。

実際にプログラムを動かしながら、この2つの違いについて、見ていきましょう。

今回は、3つのイラストを用意しました。

まず、恐竜がコップを取りに行きます。

取られたコップは、グルグル回って消え、次にミルクのイラストが表示される。

ここで表現したいのが、コップがグルグルと回り終わってから、ミルクを出現させたいんですね。

~を送る

恐竜のプログラムはこのように作ってみました。

右に進んでいって、もしコップに触れたら、「コップ」「ミルク」の順にメッセージを送る。

コップを回転させる動き。

ミルクを表示させるプログラム。

動かしてみると・・・

コップとミルクが同時に出現しました。

しかも、恐竜が触れている間、ずっとコップが回転しています。

~を送って待つ

もともと作りたかった動きは、コップが回転し終わってから、ミルクが出現、でしたね。

そこで登場するのが、「~を送って待つ」。

さっそく使ってみましょう。

「コップを送って待つ」に入れかえてみました。

実行してみましょう。

なんと、コップが回転している間、恐竜は動かせません。

そして、コップが消えてから、ミルクが出現しました。

まるでコップが動き終わるのを、待っているようですね。

「~を送って待つ」は、その名の通り、メッセージを受け取った相手のプログラムが終わるまで待つ。

①恐竜:メッセージ「コップ」を送って待つ

②コップ:回転して消える

③恐竜:コップのプログラムが終わったので、「ミルク」を送る

同時に実行させたくない場合、順を追って実行したいときには、かなり重宝するコードじゃないでしょうか。