子供向けプログラミング言語Scratch-実行中の変数の値を表示/非表示する方法

プログラムScratchではプロジェクト)が意図したとおりに動かなくて困ったことがありますか?
プログラム全体の動きを分析したくて、実行途中の変数の値を好きなタイミングで簡単に見ることができたらなぁ…と、思ったことはありますか?

今回は、子供向けプログラミング言語 Scratch(スクラッチ)のプロジェクト実行中の変数の値を表示/非表示する方法を説明します。
最後にまとめの説明動画も埋め込んでいます。

こんにちは、IT講師&IT講師コンサルタントの西村由加利です。
今回は少し複雑な処理をプログラミングするときに役立つ、実行中の変数の値をステージ上やスクリプトエリアブロックパレットに表示する方法、また、プログラムが完成したときなどにステージ上の変数の表示を非表示に変える方法を説明します。

変数

変数とは、一般的には特定の条件を満たす値を表現するために、記号などの名称で代理させたものです。
特に、プログラミング言語で変数と言った場合は、データを一時的に格納する領域に名称を付けたものになります。

Scratchで変数を作る方法

Scratch変数を扱いたいときは、まず、そのエディターでブロックパレットの[データ]グループを選択し、[変数を作る]をクリックして適当な名称を付けて入力し[OK]をクリックして、変数を作ります。

代入

プログラミングで、値を変数に一時的に保存/格納することを代入と言います。
変数には、プログラム実行開始時に設定しておきたい値やプログラムの流れの中で計算や入力などの処理を行って得られた値などを代入します。

デバッグ

デバッグとは、プログラミングしたものが意図したとおりに動くかどうかを確認し、動かなければ修正する作業のことを言います。

デバッガー

デバッガーとは、プログラミング言語プログラム開発環境の1つとして提供されることがある、デバッグを行うための環境です。
デバッガーにはプログラム実行の流れの中で変数の値を見ることができる仕組みなどがあります。
Scratchエディターは、デバッガーのようにプロジェクト実行の途中でその時点の変数の値を表示させることができます。

変数の値をステージ上に表示/非表示する方法

変数を作ると、ブロックパレットの中にその変数の名称が入った楕円がチェックボックスと並んで表示されます。
変数を作った直後、ブロックパレット上の変数のチェックボックスにはチェックが入っていて、ステージ上には変数名とその変数のその時点の値(変数生成直後の値は0)が入った枠が表示されます。
ちなみに、このステージ上の変数の値の表示枠はドラッグ&ドロップでステージ内の好きな場所に移動させることができます。
変数が生成されてステージ上にその変数の値の表示枠が一度表示された後は、次の3つの方法で表示/非表示を切り替えることができます。

  • ブロックパレットのチェックボックスのオン/オフによるステージ上の変数の値の表示/非表示
  • ステージ上の変数の表示枠の右クリックで表示([普通の表示]か[大きな表示])/非表示([隠す])
  • [データ]グループのブロックによるステージ上の変数の値の表示([変数■を表示する]ブロック)/非表示([変数■を隠す]ブロック)

ブロックパレットのチェックボックスのオン/オフによるステージ上の変数の値の表示/非表示

お気づきのように、ブロックパレット上の変数のチェックボックスにチェックが入っているときはステージ上にその変数のその時点の値が入った枠が表示され、チェックボックスのチェックをクリックしてはずすとステージ上では変数の枠が非表示になります。
さらに、一度チェックをはずした後でも、再度クリックしてチェックを入れると再度ステージ上に変数の枠がその時点の値で表示されます。

ステージ上の変数の表示枠の右クリックで表示([普通の表示]か[大きな表示])/非表示([隠す])

右クリックで[普通の表示]を選択すると、変数名と値がステージ上の表示枠に表示されます。
右クリックで[大きな表示]を選択すると、ステージ上の変数の値の表示枠の[普通の表示]から変数名が消え、数値だけが[普通の表示]の枠のサイズ&茶色の背景で大きく表示されます。
右クリックで[スライダー]を選択すると、スライダー付きの表示枠で表示されます。
この[スライダー]の機能は、プロジェクト実行する人にも実行途中にスライダーで変数の値の代入ができるようにするものであることからわかるように、[スライダー]は変数の値が変わっていく様子を見るためのものではないので、このブログで[スライダー]の説明はここまでとします。
右クリックで[隠す]を選択すると、ステージ上の変数の値の表示枠が非表示になり、ブロックパレット上のその変数のチェックボックスも外れます。
なお、ステージ上の変数の値の表示枠の上でダブルクリックを繰り返し行うと、[普通の表示]⇒[大きな表示]⇒[スライダー]⇒[普通の表示]⇒…と表示スタイルが変化します。

[データ]グループのブロックによるステージ上の変数の値の表示([変数■を表示する]ブロック)/非表示([変数■を隠す]ブロック)

これらのブロックブロックパレット上か、スクリプトエリア内で実行されればその変数の値の表示枠が表示/非表示されます。
ブロックパレット上での実行は、そのブロックをクリックすることで行います。
また、スクリプトエリアでの実行とは、そのブロックを含む、次のいずれかを行うことです。

なお、非表示から表示に変わるとき、非表示直前に表示されていたときのスタイル([普通に表示]/[大きな表示]/[スライダー])での表示になります。

変数の値の表示枠のステージ上での表示/非表示は、学習等特別な場合以外では、一般的に、プロジェクトを完成させるまでは表示状態にし、完成させたら非表示状態にします。

変数の値をスクリプトエリアやブロックパレット内に表示する方法

まず、ブロックパレットの[データ]グループの変数の楕円そのものや、その楕円をスクリプトエリアにどのブロックの内側にも前後にもくっつけないようにドラッグ&ドロップして、実行の途中でその楕円をクリックすると、その後マウスカーソルがその楕円の上にいる間、吹き出しでその変数のその時点の値を表示し続けます。

ステージ上に変数の値を表示する方法では、表示している間その値の変遷をずっと表示する一方、スクリプトエリアブロックパレット内で変数の値を表示する方法では、値を見たい瞬間にどのブロックにも接していないその変数の楕円を明示的にクリックしてマウスカーソルを合わせ続ける必要があります。
前者の方がデバッグ時は使い勝手がいいですが、後者のメリットは、プロジェクトの動きのチェックも済んでデバッグが終わった後、変数の値を表示していたものを整理(非表示にすることなど)することなしに、即完成とできるところです。

今回の説明は以上です。
説明内容をまとめた動画を以下にご用意したのでご覧ください。

コメントを残す