更新日:、 作成日:

スクラッチ 制御ブロックの使い方

はじめに

Scratch (スクラッチ) 3 の制御ブロックの使い方を紹介します。

条件分岐や繰り返し行うループなど、プログラムの処理の流れを制御できます。

処理を止めたりクローンを作成できます。

制御ブロックとは

control

制御ブロックでは、プログラムの処理の流れを制御する次のことができます。どのプログラミング言語にも必ずあるものです。

  • 条件分岐 (if 文など)
  • ループ (for 文など)

この他にも処理を止めたり、スプライトのコピーであるクローンを作成できます。

条件分岐

テストの点数が 80 点以上なら合格、そうでないなら不合格、のように処理を分けることを「条件分岐」と言います。一般的なプログラミング言語では if 文などがあります。

if

詳しくは「もし~なら、条件分岐 if 文」をご覧ください。

ループ

同じ処理を繰り返し行うことを「ループ」と言います。一般的なプログラミング言語では for 文などがあります。

for-loop

詳しくは「繰り返す、ループ for 文」をご覧ください。

クローンとは

クローンとは、スプライトのコピーです。コードやコスチュームや座標など、オリジナルのスプライトとまったく同じものを作成できます。

クローンを作成すると、どれがオリジナルでどれがクローンかわからなくなるので、コードをクローン専用として作成するのをおすすめします。

クローンは他のスプライトやステージからも作成できます。ステージに何個も同じスプライトを表示したいときに使います。

待つ、止める

wait-second

指定した 秒数 だけ待ってから、次の処理を実行します。

間隔をあけて処理を行いたいときに使います。待つのはこのブロックのコードだけです。同時に動いている他の処理や他のスプライトの処理は、待っている間も動きます。

ちょっとずつ前に進みます。

13

スペースキーを入力しても、スプライトは動き続けます。

15 14

待っている間に止まるのは、このブロックがくっついている処理だけです。

wait-until

指定した 条件 に一致するまで待ってから、次の処理を実行します。

何かの反応があるまで待つときに使います。待つのはこのブロックのコードだけです。同時に動いている他の処理や他のスプライトの処理は、待っている間も動きます。

「A キーを押して」と表示した後に、実際に A キーが入力されるまで待ちます。入力されたら「押しました」と表示されます。

16

待つ 系のブロックや処理が終わったら次のブロックを実行するものを使用すると、待っている間の CPU の使用率が少し高くなります。

stop-process

次の 処理 を止めます。

  • すべてを止める:すべてのスプライトやステージの処理が終了します。[赤丸] をクリックしたのと同じです。
  • このスクリプトを止める:このブロックがくっついている処理を終了します。ループ処理を終わらせたいときに使います。同時に動いている他の処理や他のスプライトの処理は、そのまま動きます。
  • スプライトの他のスクリプトを止める:このブロックがくっついていない、このスプライトの処理を終了します。他のスプライトの処理はそのまま動いています。同時に動いているループ処理を終わらせたいときに使います。

端まで動いたら「行き止まり」と表示して、この処理だけが止まります。

17

クローン

create-clone

指定した スプライト のクローンを作成します。

delete-clone

この処理を実行している クローン を削除します。

オリジナルのスプライトで実行しても、それは削除されません。

when-clone

クローンが作成されたときに発生します。

のクローンを作る ブロックが実行されたときに、そのクローンの初期化処理に使います。この処理がオリジナルとクローンを区別できる場所なため、ここにクローンでのみ行いたい処理を作ります。

ネコをクリックしたら「Star」のクローンを作成します。

18

「Star」のクローンが作成されたときに、ランダムな位置に 1 秒だけ表示します。

19

ネコをいっぱいクリックすると、Star のクローンが増えては消えます。

20

クローンを作成するときは、そのオリジナルのスプライトを非表示にしておきます。

21

作成したときに表示すると、クローンだけ表示できます。

22