
Scratch ステージのコードに何を書くべきか

Scratchの”ステージ”は、おもに背景を選ぶときに開くと思います。
知らない方もいらっしゃるかもしれませんが、ステージにもコードを書くことができます。
ステージに何も書かずに、全てのコードをスプライトに書いてももちろん動きますが、「ステージに書くと分かりやすくていいよ」と、1000以上のScratchプロジェクトを見てきた私が考えるものを今回は解説します。
ステージのコードに書くといいもの
BGMを流す
ゲームやアニメーションの雰囲気を出すために、BGM(音楽)を流すことがあります。
このBGMは、どのスプライトとも関係しないので、ステージに書きましょう。

「すべてのスプライト用」変数のはじめの処理
複数のスプライトで使う変数のはじめの処理を書きます。
例えば、制限時間や回数、得点などです。
はじめの処理なので、これらの変数のリセットをするコードですね。

制限時間の処理
ゲームをつくるときには、制限時間を設けることが多いと思いますが、この制限時間のコードをステージに書きます。
もちろん、メインのスプライト(Catなど)に書いてもいいのですが、スプライトはコードが多くなってしまうので、比較的コードが少ないステージに書くのがおすすめです。

このように制限時間の処理を書きます。
最後にメッセージ「終わり」を送っていますので、各スプライトでメッセージを受け取って、終わりの処理をします。
もちろん、ステージで「すべてを止め」てしまってもいいでしょう。

クローンをつくる
たとえばシューティングゲームで、たくさんの敵をクローンでつくることがあると思います。
クローンは、各スプライトで書くよりも、ステージに書いた方がいいことが多いです。
理由は、各スプライトで「自分自身のクローン」をつくると、倍々になっていく原因になりやすいからです。(もちろん、そうしないように注意して書くこともできます)
詳しくは、こちらの記事で解説しています。

10秒ごとに敵を増やしていくゲームだとすると、ステージにこんな風に書けますね。

まとめ
ステージに書くといいコードを4つ挙げました。
繰り返しになりますが、絶対にステージに書いてくださいということではありません。
スプライトに書いてもいいけど、スプライトはコードが多くなるし、どのスプライトに書いているか分からなくなるので、スプライトに書かなくていいものはステージに書いた方がすっきりするよということです。
(終わり)