JJ SHIMA Blog

二児のパパがゲーム開発アレコレを書いているブログ。Unity / UE / Scratch / プログラミングゼミ / プログラミング教育

[Scratch] 変数の見える範囲(ローカル・グローバル)

スクラッチ

今回は「変数」の見える範囲についてです。

 

変数には自分用・全員用の2種類がある

スクラッチで変数を作る時、見える範囲を2種類から選ぶことができます。
・すべてのスプライト用
・このスプライトのみ

f:id:papa-sensei:20200212135335p:plain


誰でも見れる・書ける、「すべてのスプライト用」


「すべてのスプライト用」は、どのスプライトからも見たり、中身を書けたりする変数です。
学校の黒板や、共通ノートのようなものですね!

 

自分しか見れない「このスプライトのみ」


「このスプライトのみ」は、他のスプライトからは見ることも、中身を書きかえることもできません。
自分だけの秘密です。 

 

例:ネコとサル、2つのスプライトがあります。

・ネコなまえ:「すべてのスプライト用」

・サルなまえ:「このスプライトのみ」

f:id:papa-sensei:20200212135435p:plain

この場合、「すべてのスプライト用」のネコなまえはサルも見ることができます。

一方、「このスプライトのみ」のサルなまえは、ネコからは見ることができません。

 

どっちを使うのがいい?

慣れるまでは「すべてのスプライト用」でOK!

スクラッチを触り始めたばかりの時は、 

すべてのスプライト用で作ってしまって良いでしょう。

 

「すべてのスプライト用」の注意点

誰でも見れる・書ける変数を一緒に使う場合は注意することもあります。  

 

たとえば、「なまえ」という変数に、ネコが自分の名前をつけたとします。

f:id:papa-sensei:20200212150944p:plain

そのあとに、今度はサルも自分の名前をつけます。

f:id:papa-sensei:20200212151024p:plain

すると、次にネコが自分の名前を確認しようとすると、

「なまえ」の中にはサルの名前が入っていて、自分の名前がなくなってしまいました。

f:id:papa-sensei:20200212151122p:plain

 このように、誰でも見れる・書ける変数には気をつけることがあります。

*「ネコのなまえ」「サルのなまえ」と変数自体を分けてしまう方法もあります

 

 分け方の目安

 

f:id:papa-sensei:20200212152850p:plain

[すべてのスプライト用]

・すべてのスプライトが知っておいて良い情報

・中身を書き換える人が決まっているもの

 

[このスプライトのみ]

・自分しか使わない情報

・他のスプライトでも同じ名前の「変数」を使う時(例:なまえ、誕生日)

 

慣れてきたら、

この変数は自分だけ・みんなで使う・書く人は誰?なども考えてみてください!