Scratchで数字表示

Scratchのサンプルプログラムを作成しています。

その際,変数に入れた数値や文字を大きく表示したい場面が出てきます。

変数の内容を確認するためだけなら,Scratchでこんな感じの表示ができます。

20190601 123456c

しかし,これだとあまりに小さい。吹き出しに表示する方法も控えめな大きさです。

願わくは,もっと大きく表示したい。たとえばこんな感じ…

20190601 123456

Scratchプログラムを教室のスクリーンに提示する際,ありそうなニーズのように思えます。

ところが,Scratchでこのようなことをするのは意外と難しいのです。

似たような表示をさせるだけならこんな感じで6つの数字スプライトを用意して並べる方法があり得ます。変数から数字を読み取って必要な数字スプライト(そのコスチューム)を用意するといった仕組みです。

20190601 123456a

しかし,この方法には問題が残ります。

たとえば,表示できる数字が6桁縛りになることです。

6桁もいらない数字のときや,6桁よりも大きな数字を表示したいときには,そういう場合に対応するための準備やプログラムが必要になります。

そもそも,桁数分だけのスプライトを用意しなければならないことも面倒です。

そこで他に方法がないかを調べてみたところ,スタンプ機能を使った方法が紹介されていました。

「【Scratch】数字を表示するスプライト」(コドモとアプリ)
https://studio.beatnix.co.jp/kids-it/kids-programming/scratch/scratch-material/scratch-label/

望む位置合わせに応じたスプライトが用意され,好きな桁数の数字を好きな大きさを指定して表示できるので,大変便利なサンプルです。用意されているフォントもオーソドックスなので使いやすいかも知れません。

このサンプルでほぼ解決!ともいえるのですが,ペン拡張機能のスタンプ機能を利用しているため,数字を消去しようとするとペンで描かれたもの(たとえば図形)が一緒に消えてしまうという弱点があります。

算数教材を作成しているときには,このような弱点が大変困る場合もあるわけです。

というわけで,スタンプ機能を使わずにスプライトをクローンする方法で作ってみました。

20190601 123456b

数字表示 - スプライトクローンによる数値表示
https://scratch.mit.edu/projects/314069120/

ご覧のように一つのスプライトと,あとは数字のための変数を用意するだけ。(ネコはおまけです)

文字のデザインはScratchに標準で付いているものを利用していますが,必要であれば自分でデザインし直してもらえれば,どんな文字デザインでも応用できるのはスタンプ方式と違いはありません。

変数とメッセージ(broadcast)で呼び出すため,複製して複数の数字を表示したい場合はメッセージを異なるものに設定し直す必要はあります。

数字ではなくて数式を表示したい場合も出てくるので,別に「式表示」プログラムも作りました。

式表示
https://scratch.mit.edu/projects/314409226/

さて,これらを使ってサンプルプログラム作りに励むことにします。