こちらは、スクラッチの「ずっと」ブロックの使い方を、詳しく徹底解説しています!
「ずっと」ブロック
「ずっと」ブロックは、中に入れたブロックの処理を繰り返し実行します。
例えば、「〇へ向ける」ブロックを使って、スプライトがずっとマウスポインタ―の方向を向く、プログラムを作ってみます。
こちらのスクリプトを実行して、スプライトの回りをマウスでぐるぐる回してみてください。
「ずっと」ブロックで、処理が繰り返されているため、ぐるぐる回すとマウスポインタ―の方向をずっと向きます。
キャップブロック
スクラッチのブロックには、役割に応じて、分かりやすくブロックの形を変えています。(Scratchのブロックの種類と役割について)
「ずっと」ブロックは、キャップブロック(Cap Block)に属しており、上の部分に凹がついていますが、下の部分は平らなブロックになっているのが特徴です。
何もつなげる部分がないため、他のブロックをつなぐことができず、キャップブロックでスクリプトが終了します。
「ずっと」ブロックは、そもそもずっと繰り返されるため、次につなげる必要がないのです。
繰り返し処理を止めるには、手動か他のブロックを使って強制停止させるしかありません。
「ずっと」ブロックを止めるには?
「ずっと」ブロックは、中に入れたブロックの処理をずっと繰り返します。
もしも、「ずっと」ブロックの処理を強制的に止めたい場合は、以下の2つの方法を使います。
- プログラムの「止める」ボタン(赤丸ボタン)を押す
- 「〇を止める」ブロックを使う
プログラムの「止める」ボタン(赤丸ボタン)を押す
こちらは、手動で「ずっと」ブロックを止める方法です。
ステージの左上にある赤丸の「止める」ボタンを押すと、すべてのプログラムが停止します。
これは、「ずっと」ブロックも例外ではありません。
「〇を止める」ブロックを使う
もう一つの方法は、プログラミングの中で、「〇を止める」ブロックを使って、止める方法です。
「〇を止める」ブロックの規定値には、以下の3つがあります。
- すべてを止める
- このスクリプトを止める
- スプライトの他のスクリプトを止める
この中の「すべてを止める」「スプライトの他のスクリプトを止める」を使えば、「〇を止める」ブロックが動いているスクリプトを止めることができます。
例えば、こちらのように、スペースキーが押されたときにすべてを止めるスクリプトを作っておけば、処理中であっても、スペースキーで止めることができます。
他のブロックでも作れる!?
「ずっと」ブロックは、他のブロックを使っても作れます。
「〇まで繰り返す」ブロックで、条件を空白にすれば、ずっと処理が繰り返されます。
「〇まで繰り返す」ブロックは、条件を満たすことで、繰り返しから抜け出すブロックです。
つまり、条件を満たさなければ、ずっと処理が繰り返されることになります。
条件を満たすとは、条件の結果が「真」になることですが、条件を空白にすると「偽」の状態となり、「真」になることはありません。
「真偽」というのは、要は正しいか正しくないかという意味なので、例えば、こちらのように「0=1」とすると、0は1とイコールではない(=正しくない)ので、こちらのやり方でもずっと処理が繰り返されます。
制御ブロック一覧
「制御」ブロックには、以下の11個のブロックが用意されています。
- ハットブロック・・・1つ
- スタックブロック・・・3つ
- C型ブロック・・・5つ
- キャップブロック・・・2つ
ブロックの色は、山吹色で統一されています。
主に何かの処理をした場合に、発生するイベントの条件分岐で利用されるプログラムになっています。
制御ブロック | 動作 |
---|---|
〇秒待つ プログラムの処理を指定した秒数だけ一時停止する |
|
〇回繰り返す 指定した回数だけ中に入れたブロックの処理を繰り返し実行する |
|
ずっと 中に入れたブロックの処理を繰り返し実行する |
|
もし◇なら 指定した条件を満たしていれば、中に入れたブロックを実行する |
|
もし◇なら▢でなければ 指定した条件を満たしていれば1番目のC型の中に入れたブロックを実行し、条件を満たしていなければ2番目のC型の中に入れたブロックを実行する |
|
◇まで待つ 指定した条件を満たすまでプログラムを一時停止する |
|
◇まで繰り返す 指定した条件を満たすまで、中に入れたブロックの処理を繰り返し実行する |
|
〇を止める 指定したスクリプトを止める |
|
クローンされたとき クローンされたときに下のブロックを実行する【スプライトのみ】 |
|
〇のクローンを作る 指定したスプライトのクローンを作る |
|
このクローンを削除する クローンを削除する【スプライトのみ】 |