更新日:、 作成日:
スクラッチ 複数の処理を同時に実行する
はじめに
Scratch (スクラッチ) 3 の複数の処理を同時に実行する方法を紹介します。
イベントやメッセージを受け取ったときの処理は同時に実行されます。
ずっとループする処理をしながら他の処理ができます。
複数の処理を同時に実行する
メッセージを受け取ったときや、イベントが発生したときの処理は同時に実行されます。同時に実行したい処理の数だけ メッセージを受け取ったとき ブロックを作成します。
完成例
横に 10 回移動するのと、縦に 10 回移動するのを同時に実行する例を紹介します。
簡単に説明すると、メッセージを送信します。同時に処理をしたい数だけ メッセージを受け取ったとき ブロックを作成します。
複数の処理を実行する
横に移動するのと、縦に移動するのを同時に実行します。
複数の処理を開始するためのメッセージを送信します。ここでは「複数処理」にします。
「複数処理」メッセージを受け取ったときに、横に移動します。
もう一つ「複数処理」メッセージを受け取ったときに、縦に移動します。
このように同時に処理したい数だけ [メッセージを受け取ったとき] ブロックを作成します。
イベントを同時に実行する
イベントでも同時に処理を実行できます。同じイベントを同時に処理したい数だけ作成します。
どれかのキーを入力したときに、横と縦に移動します。
スポンサーリンク
同時に実行するとは
複数の処理を同時に実行すると、具体的にどのような順番で処理されるのかを解説します。
- 1. 最初に作成した メッセージを受け取ったとき ブロックの処理をすべて行います
- 2. 次に作成した メッセージを受け取ったとき ブロックの処理をすべて行います
次のコードなら、x座標を 30 増やした後に y座標を 30 増やします。
このように作成した メッセージを受け取ったとき ブロックの順番に処理を行います。
ただし、次の時は処理の途中で、次の メッセージを受け取ったとき ブロックの処理を行います。
- ループしたとき
- 処理が終わるまで待つようなブロックを実行したとき
次のコードなら、x座標を 5 増やした後に y座標を 10 増やします。
次のコードなら、「1」と言った次に「2」と言います。1 秒後に「3」と言った次に「4」と言います。
待つ処理が終わっていないときは飛ばされます。「1」と言った次に「2」と言います。1 秒後に「1」の処理が終わっていないので飛ばして「4」と言います。1 秒後に「3」と言います。
このようにループするときや待つようなブロックを実行したときに、次の メッセージを受け取ったとき ブロックの処理を行います。