不知道大家有没有玩过打字游戏,一个个字母从屏幕上方的任意位置出现,然后匀速下落。在字母下落期间,我们需要找到字母对应的按键并点击它,这样下落的字母就被消除了,如果字母落地前没有成功找出对应的按键,那么玩家的生命值会被扣减,失败次数达到某个上限,游戏就结束了。
在Scratch中,显示区域正中心的位置是坐标系的零点,对象往上移动时,对象的y坐标会逐渐增加,我们希望对象从屏幕上方下落,只需要把y坐标设置的尽可能大一点,就可以了。对象的x坐标决定了对象的位置是靠左还是靠右,x轴坐标越小,对象就会越偏向于屏幕左侧,问题在于,我们并不希望字母固定在一个位置,而是希望它能出现在屏幕上方的任意位置。所以x轴的坐标上,我们需要一个不固定的值,Scratch自带了这样一个工具——随机数。
想让对象随机出现在屏幕上方,我们只需要将对象的x轴坐标指定为随机数,图中的-200到+200是随机数产生的范围,设置范围之后,系统会在每一次运行积木时,给出一个大于-200小于200的整数。每点击一次积木,小猫的x轴坐标会变动一次,表现在屏幕上就是,小猫随着用户的点击,一会出现在左边,一会会出现在右边。
打字游戏中同时下落的字母可不只一个,但我们的小猫只有一只,一旦它出现在别的位置,原位置上的小猫就消失了,屏幕上始终只有一个对象,如何制造出多个重复对象,我们前面已经接触过了,就是使用克隆体。按照图中的积木尝试一下,体验一下猫如雨下的场景吧。
随机出现的问题解决了,但如果是制作一个字母打字游戏,字母可是有26个呢,我们需要26个对象吗?答案当然是否定的,仔细观察一下造型页面,在对象的每个造型左上方,都会有一个数字,这是对象的造型编号,我们除了可以利用下一个造型来更换对象的外观,也可以使用指定造型编号的方法,想象一下一个对象有26个造型,每个造型对应一个字母。因为编号是个数字,我们同样可以使用随机数来完成对象造型的更改。
在本例中,我们用随机数更改了小猫的位置,最后甚至也更改了小猫的造型。在编程语言中,数字可以用来改变的可不仅限于这些,计算机通过各种传感器感知这个世界,而传感器传输给计算机的是什么呢,各种大小不同的数字,这些数字可以代表湿度,可以代表温度,代表光照,代表各种可以用数字量化的内容。反过来看,因为温度湿度光照等等都能够被量化,我们也可以通过数字来精确的控制他们。所以别看只是一块小小的随机数积木,其用途,实际上是非常广泛的。