KevinHu 发表于 2021-2-18 19:55:57

简单植物大战僵尸制作(7)

本帖最后由 KevinHu 于 2021-2-18 19:57 编辑

简单植物大战僵尸制作(7)——植物动画效果+植物种植优化

各位鱼油们,我回来啦!!!{:9_217:}

话说回来,好久没有更新这个系列了……{:10_262:}



不过,这个系列理论上来说是不会停更的(但是有时候可能会因为资源紧缺而停更一会),只要植物大战僵尸一直更新,我们以后会不断地完善这个程序。但是在假期会集中更新。毕竟是学生党嘛……{:10_266:}



好了,我们步入正题

素材包:


scratch代码:




植物种植优化

在做教程的时候,我突然发现,种植植物的代码有一点问题{:9_230:} :

那就是,两个植物可以种在相同的位置上



可是,这样就不符合游戏规则了,所以,我们要把它改一改

我们可以建立两个列表,分别存放种下的植物的x和y坐标,在植物种植下去的时候就把自己的x和y坐标填入列表中,种植植物的时候如果检测到这个位置有植物,那么就不种下去

我们先建立两个列表



为了判断这个位置是否有植物,我们需要用循环一个一个寻找列表里的数据,所以我们要再设置一个循环变量



在种植下去的时候,先进行判断,看看这个位置上有没有植物。

然后,把种植的代码改成这样:(拿豌豆射手举例)



别忘了在开始的时候对列表进行初始化



种植后,将植物的坐标添加进列表;当要铲除这个植物时,循环找到植物的位置,将这个位置删除



最后,把代码复制到各个植物中(记得改阳光),就大功告成啦~{:10_298:}

效果图:





植物动画效果

准备工作

我们看着一动不动的植物,是不是感觉太无聊了?现在我们就给植物加上动画效果

我们先把新的植物角色导入进来



然后,把代码复制到新的植物中。

这时候,我们就可以开始制作植物动画效果了。

我们需要“外观”里的这些代码块:



向日葵、豌豆射手

我们先来坐一下向日葵和豌豆射手的动画

先以豌豆射手举例,我们点击“代码”边上的“造型”,可以看到有许多不同的姿态。将这些姿态连续起来,就形成了动画效果。



我们可以在种下的时候,先切换到第一个造型,然后不断切换到下一个造型。

初始代码:



但是,我们发现种下豌豆射手之后豌豆射手开始抽 搐了起来{:5_107:}



suǒ以,我们可以让豌豆射手在切换之前先等一段时间(这里我用的是0.03s),这样就可以减缓豌豆射手动画的速度



现在,豌豆射手的速度就适中了



然后,把豌豆射手的代码稍微改一下,就成了向日葵的代码



土豆地雷

下面,我们来做土豆地雷的代码

土豆地雷刚开始是埋在土地下后会等待15s,然后破土而出。

我们发现刚点击土豆地雷卡片后,会有一个已经出土的土豆地雷跟着鼠标走,然后种下的时候会埋到土里。

所以,我们在种土豆地雷的部分添加一个更改造型的代码



然后,仿照豌豆射手和向日葵的代码写一下土豆地雷的代码



可是,这样,土豆地雷也会切换到爆炸和布置的造型中,所以我们再改一下,当切换到最后一个“等待”的造型后,切换到第一个“等待”的造型


(这里要注意“造型编号”和“造型名称”的区别:“造型编号”是造型小图标左上角的数字编号,而“造型名称”则是你给造型起的名字)

我们发现土豆地雷的切换速度有点快,于是我们把等待的秒数改成0.1s



然后土豆地雷就好啦~{:10_256:}

(当然,还有爆炸的造型,这个我们等到有了僵尸之后再设置)

效果:



樱桃炸弹

樱桃炸弹的特性是:种下之后会立即爆炸,爆炸之后就会消失。

所以我们只要按照樱桃炸弹的造型顺序依次进行,到最后一个造型时将克隆体删除就可以了。

初始代码(这里我们用“重复执行直到……”,效果和在循环内判断是一样的,可以用它偷一下懒{:10_248:} ):



在点击卡片后,我们要把樱桃炸弹的本体设置成第一个造型:



最后,删除樱桃炸弹之前,要把植物x坐标和植物y坐标两个列表里的数据删除:



就好啦~{:10_298:}

总效果:





这期的教程到此就结束了

由于学业有些繁忙,加上编教程的时候遇到了一些《中等的问题》,所以教程出得有点晚,我给大家发一些鱼币补偿一下{:10_256:}

别忘了,如果喜欢,别忘了评分+订阅哦~ 订阅传送门




上一期:传送门
下一期:敬请期待

xiaosi4081 发表于 2021-4-22 12:43:35

致歉:
作为简单植物大战僵尸的维护人员,由于最近学业太多,好久没更新帖子{:10_262:}
最近我和@KevinHu 也在讨论下一期的事,大家敬请期待哟!{:10_256:}

hornwong 发表于 2021-2-18 20:36:30

感谢分享!

hornwong 发表于 2021-2-18 20:37:06

{:5_95:}

嘉岳呀 发表于 2021-2-18 20:43:39

感谢分享

嘉岳呀 发表于 2021-2-18 20:44:12

嘉岳呀 发表于 2021-2-18 20:45:49

{:10_277:}

嘉岳呀 发表于 2021-2-18 20:51:04

{:10_247:}

3553107168 发表于 2021-2-18 23:40:33

{:5_91:}

Yoromi 发表于 2021-2-19 07:37:27

{:10_282:}

墨桀 发表于 2021-2-19 09:21:58

6666666666666

xxm8023 发表于 2021-2-19 12:14:58


3102515355 发表于 2021-2-19 12:30:23

{:5_105:}

yayc_zcyd 发表于 2021-2-19 14:01:59

厉害,学习{:10_256:}

yayc_zcyd 发表于 2021-2-19 14:02:56

做出来了scratch的飞机大战{:10_256:}

zzlzone 发表于 2021-2-19 15:41:29

{:10_249:}感觉很不错啊!

weiter 发表于 2021-2-19 17:20:57

你可算来啦……{:10_256:}

wayyyyyyyy 发表于 2021-2-19 18:51:06

{:10_250:}

huangzb 发表于 2021-2-19 20:47:16

{:10_245:}

Mike_python小 发表于 2021-2-20 13:12:18

weiter 发表于 2021-2-19 17:20
你可算来啦……

跟我一起喊 :::::

青出于蓝 发表于 2021-2-20 14:24:35

{:5_106:}
页: [1] 2 3 4 5
查看完整版本: 简单植物大战僵尸制作(7)