ロング体験会 ご応募受付中です

Scratch メッセージを送るとメッセージを送って待つの違い

Scratch メッセージを送るとメッセージを送って待つの違い

メッセージはよく使いますよね。
主に、スプライト間で連携れんけいを取るために使います。

当スクールでは、メッセージ=「スプライト同士の合言葉」と教えています。

このメッセージですが、送るときに、2つのブロックがあります。
「メッセージを送る」と「メッセージを送って待つ」の2つです。
この違いについて、詳しく見ていきます。

目次

メッセージを送るとメッセージを送って待つの違い

結論から言うと、メッセージを送った後の処理が、直列ちょくれつ並列へいれつです。

ネコからGoboにメッセージを送る場合を例にします。

「メッセージを送る」の場合
ネコは、メッセージを送って、すぐに、次の処理に進みます。

「メッセージを送って待つ」の場合
ネコは、メッセージを送って、Goboがメッセージを受け取って、その処理をしてから、次の処理に進みます。

送るの挙動
送るの挙動
送って待つの挙動
送って待つの挙動

「送る」の場合、ネコはすぐに次の処理に進むので、Goboの返事を待たずに、話し続けていますね。

一方「送って待つ」の場合、ネコはGoboの処理を待つので、Goboの返事を待ってから、話していますね。

図にするとこんな感じです。

「送る」の場合の、処理の流れ
「送る」の場合の、処理の流れ
「送って待つ」の場合の、処理の流れ
「送って待つ」の場合の、処理の流れ

「送る」の場合は、メッセージを送って以降のネコの処理と、Goboの処理が並列に(2つ同時並行に)なっていますね。

※専門的な言い方をすると、同期・非同期と言ったりしますが、小学生にもわかりやすいように、直列・並列という言い方をしています。

使い分け

今回のように、会話をしたい場合は、相手の返事を待ってから次の発言をした方ががいいでしょうから、「送って待つ」を使いたいですよね。

一方、ゲームで「ポイントゲット」のようなメッセージを送る場合、ポイントをゲットするたびに動きが止まると不自然なので、「送る」の方が適切なことが多いです。

このように、それぞれの特性を理解した上で、使い分けしましょう。

尚、古いコンピュータや性能の低いコンピュータでは、並列処理ができないことがあります。その場合は「送って待つ」を使いましょう。

Scratchは、MITメディア・ラボのライフロング・キンダーガーテン・グループの協力により、Scratch財団が進めているプロジェクトです。https://scratch.mit.edu から自由に入手できます。

シェアおねがいします
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

もつさん
プログラミングスクールLの代表
妻、息子、娘の4人家族
プログラミング教育は、子どもの将来を変え、社会を変えるという信念のもと、日々子どもと向き合っています。

目次