Scratchの達人 #11「すべてのスプライト用」と「このスプライトのみ」の使い分け
こんにちは。麻生菜乃(あそう なの)といいます。
2022年12月に「Scratchの達人」を出版しました。この本は、初心者を卒業したScratch使いが、より深いプログラミングができるるようになることを目標とした、Scratchの解説書です。読者が楽しみながら読み進められるように、主に4つのゲームのプログラミングを通して、いろいろなことを解説しています。
今回は本書の中から、「すべてのスプライト用」と「このスプライトのみ」の変数とリストの使い分けについて紹介します。
「すべてのスプライト用」と「このスプライトのみ」の使い分け
変数とリストを作るときに、「すべてのスプライト用」と「このスプライトのみ」を指定することができます。これはどういうときに使い分けるのでしょうか?
「すべてのスプライト用」の長所と短所
「すべてのスプライト用」を指定した変数とリストは、すべてのスプライトから使えます。一方で、「このスプライトのみ」を指定した変数とリストは、これらを作るときに選択していたスプライトからしか使えません。
皆さんは変数を作るとき、「すべてのスプライト用」を指定することが多いのではないでしょうか?たしかに、どのスプライトからも変数が使えて、とても便利ですよね。
ですが「すべてのスプライト用」を指定した変数は、使ってほしくないスプライトからも使用できてしまいます。そして最悪の場合、間違った値がを書き込まれてんでしまうかもしれません・・。もしそうなってしまったら、すべてのスプライトから書き込むことができるめてしまうので、問題を起こしている箇所を見つけるのは、なかなか面倒です。
「このスプライトのみ」の存在意義
そのため、このような面倒ごとの原因を元からなくすために、関係ないスプライトに変数を使わせない仕組みしくみが「このスプライトのみ」です。これを指定すると、使ってほしくないスプライトから書き込まれる心配はありません。
私としては、基本的には「このスプライトのみ」を指定して、複数のスプライトに使わせたい変数とリストにのみ「すべてのスプライト用」を指定する、というのがおすすめの使い方です。
「このスプライトのみ」をうまく使うテクニック
なお、本書では「このスプライトのみ」の変数の先頭には「_(アンダースコア)」を付けて目印にしています。たとえば(_px座標)、(_py座標)、(_方向)という具合ですね。こうすると「すべてのスプライト用」の変数と見分けやすくなるので、私は愛用しています。また、変数名の一文字目を記号にすると、ブロックパレットの上のほうに集まって表示されるので、この点でも便利です。ちなみに、他のほかの記号(#、!、%など)でも特に問題はありません。
ほかにもいろいろと書いています。
今回は変数の使い分けについて触れましたが、このほかにもいろいろなゲーム作りやプログラミングのコツをていねいに説明しています。興味を持たれた方は、ぜひご一読ください!
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?