鱼C论坛

 找回密码
 立即注册
查看: 12433|回复: 100

[小天才教程] 简单植物大战僵尸制作(2)

[复制链接]
发表于 2020-5-17 16:08:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 KevinHu 于 2020-5-22 17:45 编辑

简单植物大战僵尸制作(2)——放置植物


上一篇中,我们制作了背景和声音,这一期,我们来制作放置植物这一个部分的内容

这节课的素材包:
游客,如果您要查看本帖隐藏内容请回复





设置大小

首先,先把资源包里的每个植物都导入到 scratch 里。

1.gif

因为寒冰射手有点大,所以我们把它的大小设置成 25。

2.gif

开始撸代码

基本

开始时,先把每个植物都隐藏起来。

在每个植物的代码区里都添加这样的代码:

3.png

植物种植

然后要实现点击植物的卡片,相应的植物就会跟着鼠标走,直到玩家点击鼠标种植。

这里拿豌豆射手举例,其它植物以此类推。

当豌豆射手卡片被点击时,可以广播“种植豌豆射手”,当豌豆射手接收到广播时,就显示,并且一直跟着玩家的鼠标走,直到玩家点击鼠标。

在豌豆射手卡片里添加如下的代码:

4.png

在豌豆射手里添加如下的代码:

5.png

可是,在我们运行的时候发现当我们点击鼠标时,豌豆射手只会显示,而不会跟着我们的鼠标走

6.gif

这是因为,当我们点击鼠标时,豌豆射手收到了“种植豌豆射手”的广播,因为电脑的速度非常快,所以当豌豆射手检测我们的鼠标是否按下时,我们的鼠标依然是按下的,所以豌豆射手并没有跟着我们的鼠标走。

为了解决这个问题,我们可以在豌豆射手卡片的代码里加上:等待按下鼠标不成立。这样当我们的鼠标抬起来的时候豌豆射手才会显示并且跟着鼠标走。

7.png

可是,这样的话我们又发现了一个 bug:每一个植物只能种植一个,种下一个植物后再点击植物卡片时原来的植物就又跑到玩家的鼠标那里去了

8.gif

要解决这个问题,我们需要用到“克隆”这个积木

9.png

当玩家按下鼠标时,豌豆射手可以克隆自己,并且把本体隐藏,克隆体就留在屏幕上了

修改豌豆射手的代码为如下:

10.png

可是,为什么还是不行

11.gif

这是因为,上面的代码中“当接收到‘种植豌豆射手’”是针对每一个豌豆射手的(也就是本体和所有克隆体),所以当玩家点击豌豆射手卡片时,豌豆射手的本体和克隆体都会执行这段代码,也就是克隆体就不会留在原来的位置上了。

要解决这个问题,我们要了解一种新的知识:私有变量。

给豌豆射手设置私有变量,相当于本体和所有克隆体的私有变量都可以不相同。也就是说私有变量是每个对象的一个“标签”

建立私有变量的方法是:选中变量针对的角色,点击变量 ==> 新建一个变量 ==> 输入变量名(因为我们设置私有变量的目的是判断是否为克隆体,如果是克隆体就不执行代码,所以名字就定为“是克隆体吗?”)(注意这里一定要选:“仅适用于当前角色”)

12.gif

然后,把这个私有变量隐藏掉(影响美观)

现在,我们把豌豆射手的代码设置成这样:

13.png

再运行看一看,是不是可以实现了

来解释一下这段代码:当绿旗被点击时,把变量“是克隆体吗?”设置为不是,因为当时还没有克隆体,只有本体,而本体当然不是克隆体,所以把这个变脸设置为不是。当接收到“种植豌豆射手”的时候,进行一个判断:如果“是克隆体吗?”这个变量为:“不是”,也就是本体的时候,才会执行以下的代码。再克隆自己之前,先把“是克隆体吗?”设置成“是”,然后克隆自己时,克隆体会继承本体的所有属性,于是克隆体里的变量“是克隆体吗?”就是“是”了,而因为这个变量是私有变量,所以克隆体的变量的值不会随着本体的改变而改变;当克隆完了之后,就再把这个变量设置成“不是”,那么本体的“是克隆体吗?”就又变回“不是”了,而克隆体的这个变量还为“是”,这样就能解决这个问题了。

最后,再把这段代码复制到别的植物里,就完成了种植的工作。(注意:一定要重新建立私有变量和重新拟一个广播名,要不然变量会显示没有建立,而广播会和豌豆射手冲突)

效果图:

14.gif

虽然还是有一些不足(如:不能控制正好种在格子里),但是这些我们以后再解决




这期的教程先到这里

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

评分.gif 订阅.gif




下一篇:传送门

评分

参与人数 3荣誉 +5 鱼币 +11 贡献 +6 收起 理由
阳光下的小虫子 + 5 鱼C有你更精彩^_^
LuckyTiger66 + 3 + 3 + 3 鱼C有你更精彩^_^
不二如是 + 2 + 3 + 3

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-17 16:12:25 | 显示全部楼层
Python他不香吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-5-17 16:13:25 | 显示全部楼层
好玩
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-17 16:13:31 | 显示全部楼层
666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-17 16:14:01 | 显示全部楼层
6P6P
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-17 16:14:42 | 显示全部楼层
我点进来的时候还是0回复,看完了文章,二楼没了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-17 16:16:33 | 显示全部楼层
本帖最后由 KevinHu 于 2020-5-17 16:17 编辑
乘号 发表于 2020-5-17 16:12
Python他不香吗?


不会,我现在还没怎么深入学python
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-17 16:18:22 | 显示全部楼层
哇塞,这次竟然没有审核
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-5-17 16:19:42 | 显示全部楼层
本帖最后由 乘号 于 2020-5-17 16:24 编辑


帮我弄个scratch安装包谢谢(鱼币回复)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-17 16:21:35 | 显示全部楼层
本帖最后由 乘号 于 2020-5-17 16:26 编辑
KevinHu 发表于 2020-5-17 16:16
不会,我现在还没怎么深入学python


2鱼币2荣誉如何?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-17 16:24:19 | 显示全部楼层

评分

参与人数 1荣誉 +2 鱼币 +2 收起 理由
乘号 + 2 + 2 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-17 17:48:12 | 显示全部楼层
欧莫西蝼蚁(有意思)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-18 08:09:48 | 显示全部楼层
建议按照:申精#文章格式建议【官方指导】要求排版,然后 @在下,申请精华哦


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-18 08:13:53 | 显示全部楼层
不二如是 发表于 2020-5-18 08:09
建议按照:申精#文章格式建议【官方指导】要求排版,然后 @在下,申请精华哦

可以申精吗

我先去上课,上完课再排一下版
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-18 08:17:56 | 显示全部楼层
我想问这个scratch那么幼稚你们为什么还玩呀

都会python了还玩scratch
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-18 08:18:38 | 显示全部楼层
MIke_python小小 发表于 2020-5-18 08:17
我想问这个scratch那么幼稚你们为什么还玩呀

都会python了还玩scratch

scratch简单
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-18 08:25:16 | 显示全部楼层

简单但是美没有意义呀

这不等浪费时间吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-18 08:27:27 | 显示全部楼层
MIke_python小小 发表于 2020-5-18 08:25
简单但是美没有意义呀

这不等浪费时间吗

锻炼编程思维
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-18 08:34:42 | 显示全部楼层
KevinHu 发表于 2020-5-18 08:13
可以申精吗

我先去上课,上完课再排一下版

好的,感觉可以哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-18 10:52:27 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-25 08:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表