画面上にスコアを表示しようとしたときに、変数の内容をそのまま出すのは味気ないので、スプライトを使って独自のデザインで表示したいと思う時があります。そんな場合に使えるテクニックです。
- 数字のスプライトを桁数ごとに作る(3桁なら三つ)
- スプライトのコスチュームで0から9までの数字を用意する。名前は"Glow-0"のように文字列+数値にする(数値だけにすると後の処理で問題が発生します)
- スコアが変わったときにコスチュームを、
文字列+((スコア変数 / 10^(桁数-1))の切り下げ)を10で割ったあまり
で求められるものに置き換えます。(10^桁数-1)は1桁目なら1、2桁目なら10になります。
この式だと、スコア/nのnの値を変えるだけで、どの桁数でも対応できます。スコア用のスプライトをクローンで作るともっとスマートですが、スプライトの位置合わせをプログラムで制御しないといけないので、ちょっとだけデザインで苦労するかもしれません。
サンプルプロジェクト
https://scratch.mit.edu/projects/608515242