这次我们来做一个Scratch版的植物大战僵尸。我用的是Scratch 3.0。
第1节,阳光
这节我们先做一个简单的地图,并且添加了一个阳光角色。阳光会一直产生并且掉落在地图上特定区域,如果在一段时间内没有被拾取会自动消失。如果用鼠标点击则会增加阳光值。
1、添加背景
在【舞台】中添加一个简易版的植物大战僵尸地图背景。这个地图是我自己画的。Scrath舞台的尺寸是480像素×360像素,地图横向8列,竖向6列,每个格子是60像素×60像素。
2、添加角色
添加一个阳光【角色】。
3、给阳光角色添加代码
(1)初始化阳光,并且一直产生阳光
阳光会一直产生,所以要用到克隆体,而本体需要被隐藏。
根据需要调整阳光的大小,单位是百分比。
把阳光产生的位置设置到屏幕上方外面。地图中间坐标是(0,0);左右为x坐标,右正左负;上下为y坐标,上正下负。
使用【重复执行】和【克隆自己】积木一直产生阳光。用【等待□秒】积木控制产生的时间间隔。

(2)初始化阳光的克隆体
让阳光在左右方向上随机位置产生。
然后,再2秒内下落到特定区域。使用【x坐标】积木使它下落的时候左右方向位置不变。
下落完成后,等待3秒,消失。

(3)让阳光旋转
让阳光在产生后就一直旋转。
Scratch积木一般是从上到下顺序执行。但是,阳光需要边掉落边旋转,而不是先掉落到地上再旋转。我们使用第2个【当作为克隆体启动时】积木实现并行执行,实现边掉落边旋转。

4、给舞台添加代码
在拾取阳光之前,要先创建一个变量用于保存阳光值。为了方便修改,统一把变量的初始化代码放在舞台中。

5、继续给阳光角色添加代码
阳光产生,在掉落过程中或者掉落到地上后都是可以收集的。我们使用第3个【当作为克隆体启动时】积木实现并行执行。
当【按下鼠标】和【碰到鼠标指针】两个条件同时满足时,表示鼠标点击到阳光,即拾取。
阳光被拾取后,播放音效,然后飞到左上角,然后增加阳光值。
最后消失。

6、看看效果
完成后点击【开始】按钮。

7、小结
注意:阳光的代码需要放到阳光角色里面。舞台的代码需要放到舞台里面。
这节先做这么多,以后会继续增加功能,也会对已完成的代码进行改进。如果需要素材或代码请联系我。