欢迎光临
我们一直在努力

Scratch第十二讲:克隆的妙处

上一讲我们讲了如何用Scratch来做重力抛物线,今天我们继续把它做成一个好玩的小游戏,通过让青蛙跳起来吃掉空中飞的虫子。看看青蛙跳几次能吃完所有的虫子。

首先看看CC哥做的程序效果

青蛙吃飞虫小游戏

看完之后,我们就发现今天程序的关键点,就是如何创建这么多小飞虫呢?(CC哥比较懒,懒得去找飞虫的素材了,索性就用素材库里的小蝴蝶代替吧)

那么飞虫怎么创建呢?难道有几只飞虫就要创建几个角色吗?显然不用,那样的话编程会变得很复杂。Scratch提供了很强大的克隆功能,而且,克隆出来的蝴蝶都可以执行单独的脚本。

下面,CC哥就把程序进一步做讲解,看看在编程中会用到哪些技巧。

先创建一个蝴蝶的角色,然后在脚本中添加克隆语句,假设我们希望有八只蝴蝶,那么这段代码就是把蝴蝶克隆八次。(隐藏命令是将蝴蝶的本体角色隐藏起来,这样空中飞舞的都是克隆体。)

然后我们执行一下看看,发现屏幕上什么也没有,原来本体被隐藏命令隐藏了,所以克隆出来的蝴蝶也都隐藏了。我们把隐藏命令去掉再执行一遍代码看看。

奇怪,蝴蝶倒是显示出来了,怎么只有一个呀?我克隆的8个蝴蝶哪去了?不要急,其实你克隆的蝴蝶都在屏幕的一个位置上,全部重叠在一起了。你用鼠标选中蝴蝶角色拖动一下就发现,下面还有蝴蝶。

既然蝴蝶都克隆出来了,我们就希望针对这些克隆的蝴蝶来单独写代码,让这8只蝴蝶长得不一样,有大有小,颜色也不同,而且还要飞来飞去不容易被青蛙吃掉,这样才生动,才会好玩。

如何实现呢?这里就要用到一条关键命令:

这条命令是一个事件命令,当克隆体被启动时,执行下列代码。那让我们看看CC哥怎么写这段代码的。

第一部分:

1:这段代码的第一句就先把克隆的蝴蝶分布到了不同的位置。(随机数的应用)

2:第二句和第三句用于随机设定蝴蝶的大小和颜色。(还是随机数的应用)

3:8只蝴蝶不能都朝一个方向飞呀,所以飞行的方向也要随机设定。(又是随机数)

注:这几句程序都是在设定每只克隆蝴蝶的初始状态,全部设置完毕后,就可以显示出来啦。

第二部分:

注:设置好之后,就可以让蝴蝶开始运动了,这个之前都学过了,用循环命令就行。但是在循环中有一个判断,就是蝴蝶飞行的过程中是否碰到青蛙,如果碰到就要被吃掉,如果没碰到就继续飞行。

1:没有碰到青蛙的脚本:

移动步数,加上之前学过的碰到边缘就反弹。

2:碰到青蛙的脚本:

将蝴蝶数量减去1,然后判断是否是最后一只,如果是就通知游戏结束(通过广播命令发布消息)。如果不是,就删除本克隆体后继续执行程序。

广播命令和接收广播命令一般是配套使用,主要用于不同角色之间的信息传递,比如游戏的终止一般会用到广播命令,当一个角色触发某种条件后,就可以在其脚本中通过广播命令发布消息,通知所有的角色游戏结束了。而其他角色收到消息后就可以执行相应的脚本。

这里CC哥加了个game over的角色,当收到游戏结束的广播消息时,就执行显示命令。

好了,总结一下,今天重点讲得是克隆,以及克隆体的脚本。大家可以试试,这个命令在做游戏时很强大的,好好想想,是不是在玩的很多类似的游戏中是不是都会出现这种应用,比如天上飞的敌机,游戏中随机跑来跑去的小人,小怪物。这个游戏大家可以再创意一下,按照你自己的想法去设计。

CC哥的跟我学编程,跟其他的学习编程的课程不一样,CC哥会重点教大家编程思维逻辑。让小朋友们从小就能培养好的逻辑思维习惯,和培养优秀的思维品质。而不是教小朋友去做码农。如果你认同CC哥的理念的话,就请关注CC哥的公众号,并推荐给你的朋友们。

赞(94)
分享到: 更多

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址