【scratch3-植物大战系列】— 粉墨登场(4)

Scratch 少儿编程 87浏览 0评论
植物大战僵尸系列

友情提示:视频教程观看时请手动设置清晰度。

 

“万事俱备只欠东风了,接下来就是我们的重点之一,让植物登场。

本节重点是

  • 新增角色:向日葵

 

 

01

 

新增角色:向日葵

 

为了方便后续其他角色的实现,我们着重讲一下向日葵这个角色如何实现,这个角色掌握了,后续其他角色都是一样的(特殊除外,比如炸弹类的):

【scratch3-植物大战系列】--- 粉墨登场(4)

向日葵的脚本清单(未包含生成阳光脚本

上图中特别要注意三个标了不同颜色和形状的部分,下面分布进行讲解。

02

矩形框:种植地图判断

何为种植地图:大家注意到下图绿色的5*9的草坪没有,这个种植地图就是为了标识哪个格子里已经种了植物了,避免一个格子里被种了多个植物。

【scratch3-植物大战系列】--- 粉墨登场(4)

那怎么种呢,这里就是用了名为“种植地图”的列表变量,又因为列表是一个顺序链表,所以,打算将列表里的值保存成:3#4(表示从上到下,从左到右的第三行第四列)。
这样每次种植植物前都会判断这个值有有没有在列表里,如果在就不能种这个格子,如果没在就可以。
那怎么判断呢,就看下面的脚本。

03

圆角矩形:判断行和列

脑子这个角色非常重要,一旦被僵尸碰到,游戏就结束了。同样的我们也需要事先保存好他们的坐标

【scratch3-植物大战系列】--- 粉墨登场(4)

判断行和列号

这里也有个技巧,就是根据那个草坪的最左x坐标和最下的y坐标作为基准,先计算鼠标对于这两个点的距离,然后加上高或宽的一半偏移量,然后计算一下跨了几个格子(四舍五入取整),最后加1得到当前所在格子的行和列。

这里稍微 有点绕,就是计算种植位置在x和y轴方向,分别处在什么区间里。

最后通过椭圆的部分来写入列表。

04

椭圆:写入列表

这里需要说明的是那个“#”号,大家可以根据自己的习惯改成别的符合,主要是为了方便分割。

【scratch3-植物大战系列】--- 粉墨登场(4)

是不是很简单,同样的道理,只要将这些脚本拷贝到其他角色里就可以用了。

转自公众号:
浩浩学编程

您必须 登录 才能发表评论!