当前位置:首页 > 编程实例 > Scratch少儿编程:怎样制作保卫萝卜小游戏(三)

Scratch少儿编程:怎样制作保卫萝卜小游戏(三)

项目简介

前两讲做了保卫萝卜的地图,妖怪轨迹。还放了一个萝卜炮塔,今天我们看看如何增加一个不同种类的炮塔,导弹炮塔,以及如何增加一波新的妖怪。

项目要点

今天的程序要点有这几个:

1:新的一波妖怪,在检测到第一波妖怪已经被全部消灭完之后,出现一波新的妖怪,妖怪的行走速度加快。

2:导弹炮塔,导弹比萝卜炮厉害,射程可以覆盖屏幕的全部范围,而且可以连续消灭妖怪。

360截图16720331836789.png

程序重点部分

我们看看程序部分有哪些变化。

妖怪的新造型

首先在妖怪的角色上创造了一个新的造型,思路也很简单,每一波妖怪出现的时候,只要切换妖怪造型就好了,因为妖怪都是走一个路线,被子弹击中的反应也一样,所以没有必要创建新的角色。这里小编只增加了一个妖怪造型,大家如果感兴趣的话可以多增加几个妖怪造型。

pic3.jpg

妖怪程序部分

增加了一些代码,我把不同的地方单独跟大家讲一下。

imgpic4.jpg

第一是增加了两个变量,一个是妖怪的速度,也就是通过这个变量来设置每一波妖怪的移动速度。另一个是“妖怪出完“这个变量,通过这个变量来判断,这一波的妖怪有没有出完,这个变量的用处后面的程序会用到。(有时候妖怪刚一出现,就被消灭了,那在这个时间点上屏幕上虽然没有妖怪,但是实际上这一波妖怪并没有出完,所以我们需要一个变量来通知其他的角色,这一波妖怪并没有出完,还会继续出现。)所以大家注意看到每次一波妖怪出现之前,先会把这个变量设定为0,等这一波妖怪全部出现之后,再把这个变量设定为1。

imgpic5.jpg

因为角色众多,那么角色之间的动作协调就会需要消息来完成,所以在新的程序里,小编增加了很多消息,来协调各个角色的步调,不能乱套。在这里为了让大家更容易理解程序,小编把下一波的妖怪出现的代码单独分了出来。方便大家理解了。如果有很多妖怪的造型,每一波妖怪都不一样,大家完全可以用一个变量来对应妖怪的编号,把代码整合在一起。这个就由大家自己去完成了。

imgpic6.jpg

在妖怪移动的过程中,有两点变换,碰到子弹的情况多了一种,除了子弹还有导弹。另一个是移动速度。为了保证妖怪沿着轨道移动,每次都是移动35步,这点小编设计的不好,因为35的因数就只有1、5、7。那这个速度可调整的空间就不大,小编刚开始设计程序的时候没想到这一步。如果砖块的尺寸设计成40,那么因数就多了,有1、2、4、5、8、10、20等,那妖怪的速度就有很多设置的空间,这个大家自己可以摸索一下。

pic7.jpgimg

其他角色的代码没有什么变化,小编只是做了些小优化,就没必要讲了。我们专门看一下新角色导弹的代码:

pic8.jpg

pic9.jpg

导弹跟萝卜炮塔不一样,因为导弹的子弹跟导弹本身的造型是一样的,所以不需要单独做导弹子弹的角色了。

pic10.jpg

这部分就是每两秒钟发射一个导弹,也就是每两秒钟克隆自已一次。如果妖怪消灭光了。(两个判断条件,一个是队列里的妖怪要全部消灭完,第二个条件是检查妖怪出完这个变量来判断这一波妖怪已经确定出完了。)那么就发布消息,启动下一波妖怪。


编程其实非常锻炼思维的严谨性,如果没有妖怪出完的变量检测,那么妖怪在还没出完的情况下,屏幕上的妖怪已经被炮塔清空了。妖怪队列里面这个时间点是没有妖怪的。那么就会被误启动下一波妖怪。这时候你的程序就会乱掉。


子弹发射后,首先要先调节一下尺寸,要比导弹塔的尺寸小一点才合理。然后大家注意导弹的特点,碰到妖怪不会消失的,而是一直碰到舞台的边缘才会消失。

pic11.jpg

Scratch做复杂的程序有很多限制,但是希望通过保卫萝卜这个游戏让大家能够学习一下我们之前学的Scratch的很多功能是如何应用的。大家可以在这个基础上尽可能的去发挥,可以参考保卫萝卜游戏的原型,看哪些原游戏里面的效果,你可以scratch来实现出来。






除特别注明外,本站所有文章均为趣味编程网-少儿编程_儿童编程学习班教育指定趣味学习网站!原创,转载请注明出处来自http://airboxs.com/post/15.html