1、设计思路及代码
在制作游戏结算界面时,发现变量的值的输出样式很单一,且不能在代码中移动。
于是设计了一个包含10种造型的角色用于输出数字变量。
scratch可以实现读取变量的字符串长度和单独读取第n位字符,故而通过依次克隆后改变造型来实现任意位数数字的显示,代码如下:
n为新建立的变量
图中代码目的是在收到“游戏结束”的广播后,显示分数。代码思路为克隆数字串长度次,且对每一位改变为相应的造型。
注意n>1的判断处不可缺少,因为变量没有第负数位或第0位。
2、缺点
1、虽然对数字位数不作限制,但太长的数字容易导致超出舞台边界的坐标。
2、只能对数字串最后一位进行定位,前面需要留适当空间。(所以图中144在右下角而不是紧随着“score:”)
3、改进思路
可以将字符串长度存储到新的变量中(此处将变量命名为IntSize),通过IntSize-n和n+1来实现从第一位开始显示,好处为可以对数字串第一位进行定位,在界面上更佳美观和习惯。