はじめに
Scratch の変数に関してクローン時の変数スコープを解説している記事で自分にとってわかりやすい記事がなかったので備忘録として記載する
変数スコープとは?
簡単に一言で変数がアクセスできる範囲のことです
アクセスすることができる範囲を絞ることでより変数を管理しやすくなります
Scratch の変数スコープ
Scratch には 「グローバル変数」と スプライトごとに範囲を絞った変数の「スプライト変数」があります
変数のスコープの設定方法
変数のスコープは変数作成時に設定することができます
すべてのスプライト用が「グローバル変数」です
このスプライトのみが「スプライト変数」となります
グローバル変数
グローバル変数は全てのスプライトからアクセスすることができます
これは変更と呼び出しをすることができます
スプライト変数
スプライト変数は変数作成時にスプライトのみでアクセスすることができる
クローン時のスプライト変数について
スプライト変数を設定された変数のスコープについて解説していく
スプライト変数の値はクローンされた時点の値を使う
下記のような動きを検証するため、スプライト変数のHPを10に設定しクローンを作成後スプライト変数のHPを0にするコードを作成する
実行結果としてはクローン実行時の値が参照されるようになる
変更はローカルなスコープで行われる
検証のためにコウモリと触れた際にはHPを減らすし0になったら「倒された」と表示するコードを作成する
スプライト1をコウモリに触れさせると触れたスプライトだけHPが減っていることがわかる