【Scratch入門〜中級編】スクリプトを止め方色々〜止め方を理解してゲームの中断・終了を理解する
※ 当ページには【広告/PR】を含む場合があります。
2020/10/14
2022/08/22
Scratchのプログラミングでゲームを作る際には、ブロック内のスクリプトの止め方を工夫することで、色々なステージを切り替えられたり、スプライトの動きを止めたり再開したりすることができます。
今回は
制御

待つ系の処理
〇〇まで待つ
ゲームの途中で、スプライトや背景の動きを中断・再開を行いたい場合に使うことができます。
以前の記事で作った

スペースを押すごとに、たこが1回動くようになります。
またスペースを押しっぱなしにすると、たこはずっと動き続けます。
〇〇まで繰り返す
では下の図のように先ほどの
〇〇まで待つ
〇〇まで繰り返す

今度はスペースを押さない限りたこのスプライトは動き続けます。 スペースを押しっぱなしにしたときにだけ、たこの動きを止めることが出来ます。
スペースキーが押された続けた時に
スペースキーが押された
〇〇まで繰り返す
ゲームの中断中に別の処理を行いたい場合には、こちらのブロックのほうが便利です。
先ほどの
〇〇まで待つ
〇〇まで繰り返す

使い分けのポイント
特定の条件を満たしている間は動かしたい(処理させたい)場合には、
〇〇まで繰り返す
逆に特定の条件になっている間は、動かしたくない(処理させたくない)場合には、
〇〇まで待つ
止める系の処理
このスクリプトを止める
このブロックは、スプライトや背景一つ一つの単位で走っているスクリプトを止める場合に使用します。
このスクリプトを止める
止める
要らなくなった処理をいつまでも残しておくと、メモリを無駄にしてしまうだけですので、容量の大きなゲームになってくるほど、
このスクリプトを止める
まず簡単な例をやってみます。
先ほどのスペースキーでオリジナルのスプライトとクローンの動きが切り替わるプログラムをほんのちょっとだけ変えてみます。

スペースキーを押すと、オリジナルのスプライトに
このスクリプトを止める
一方でクローンの処理には影響せずに動き続けることができます。
すべてを止める
文字通りすべてのスプライト・背景で走っているプログラムがすべて終了します。
この
すべてを止める
このブロックの機能としては特に説明するほどのものでは無いのですが、先ほどのサンプルプログラムをさらに修正して最後に
すべてを止める
この

先ほどまでのサンプルプログラムよりも一気に複雑にしています。
まずクローンを4つに増やして、
また、今回はスペースキーを押す度に、
オリジナルのたこを止める
クローン1を止める
クローン2を止める
クローン3を止める
クローン4が消えたらすべて止める

どのたこのスクリプトを止めるかは、グローバル変数
つぎにとめる
ばんごう_
ちなみに、
スペースキーを離した
実際にはこのテクニックと共に、スペースキーを押した・離したをトリガー(ON/OFF)として利用するためには、グローバル変数
キーおされた
スプライトの他のスクリプトを止める
最後に一番使いどころがなさそうな
スプライトの他のスクリプトを止める
同じスプライト内で走っているスクリプトの中で、その
スプライトの他のスクリプトを止める
このブロックの使いどころとしては、画面が切り変わったり、新しいゲームステージに遷移したりするときに、それ以前に走っていて不要になった古い処理をすべて捨て去ることができます。
先ほどのサンプルプログラムに再度、画面を遷移させる機能を追加してみます。
先ほどのサンプルプログラムからのプログラミングの変更点としては、たこのスプライト側でゲームが終了したフラグ(ここでは
つぎにとめる=5
ゲームオーバー
スプライトの他のスクリプトを止める

複雑な画面遷移を行うゲームを作成したい場合には、この
スプライトの他のスクリプトを止める
まとめ
今回はスプライトの止め方のバリエーションをまとめて解説しました。
スクリプトの止め方一つとってもそれぞれ性質に違いがあり、Scratchでより複雑なゲームを作成したい場合には、それぞれの止め方の特性を良く理解してからプログラミングに取り掛かかるのが良いと思います。