【scratch游戏制作案例及教程】飞机大战V1.0

上期《【scratch游戏制作案例及教程】经典坦克大战》不知道大家做的咋样?本期咱们来模仿风靡一时的“微信打飞机”,用Scratch来搭建一个简单的飞机大战游戏。今天先制作飞机大战的V1.0版本。效果如下:

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网

首先重复我们前面几节课的常见动作:打开Scratch、删除那只猫的角色。此处就不再多说啦~

PS:需要本节课游戏素材图片和样例工程文件的可以留言哦,一会儿我们会用到这些图片素材。当然大家也可以自己上网查找喜欢的图片。

【玩家飞机】

第一个角色当然是玩家自己的飞机啦~

我们点击“从本地文件中上传角色”的按钮,选取“玩家”素材图片,点击打开,就新建了一个玩家飞机角色。

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网

刚载入的角色图片比较大,需要把它缩小一些。我们点击界面上方的“造型”标签栏,进入造型编辑界面,(Scratch有点小问题,有时候进入造型界面时,角色图片会莫名其妙的消失,这时候可以点击下图的紫色圈起来的按钮,重新导入图片)。

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网
如何缩小角色图片呢?首先,我们要让图片“转换成矢量编辑模式”,点击如图按钮:

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网

然后单击图片,会出现编辑框,可用鼠标拖动编辑框边缘调整大小(拖动时按住键盘shift键,可以按比例缩放):

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网
缩放完成后,别忘了点击“设置造型中心”按钮,然后点击飞机的中心位置,把中心点设置准确。

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网

接下来我们在这个角色的造型界面,继续导入一张图片“破坏”,这是我们的飞机角色死亡时的图样。

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网
同样需要进行缩放和设置中心点的操作(可以参考刚才飞机造型的操作步骤噢)。

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网

这样,玩家飞机角色的造型部分就制作好了~

接下来要搭积木了。咱们切换回“脚本”界面,首先拖动“事件”模块下的“当小绿旗被点击”积木块。

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网

当游戏开始时,我们第一步先要设定角色的初始状态,咱们使用“外观”分类下的“将造型切换为___”积木块,通过这个下拉菜单选择“玩家”造型。然后再使用“外观”分类下的“显示”积木块让它显示出来(因为有可能在上一局游戏结束时,这个角色因为死亡被隐藏了,所以这里要先让它显示)。

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网
接下来我们需要在“数据”分类下建立两个变量,一个命名为“分数”,一个命名为“玩家生命值”,并把分数设置为0,生命值设定为100。

参考如图操作,分别新建“分数”变量和“玩家生命值”变量:

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网

使用“数据”分类下的“将变量__的值设定为__”积木块,分别将分数变量设置为0,生命值变量设定为100

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网

我们希望让玩家飞机在“存活状态下”跟随鼠标移动。首先需要使用一个循环来进行逻辑控制,我们选择“控制”模块下的“重复执行直到___”积木块。

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网
“直到”的条件是什么呢?我们想一想哈:所谓“玩家存活”,不就是“玩家生命值大于零”吗?那循环结束的条件,不就是“玩家生命值小于零或等于零”嘛。

我们使用“数字和逻辑运算”分类下的“__或__”、“__<__”、“__=__”积木块,搭出如下条件“( __ < 0 ) ( __ = 0 )”:

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网

然后在“数据”分类下找到“玩家生命值”变量,把它拖入条件的两个空格中。

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网

循环过程中,需要让角色跟随鼠标移动,我们可以使用“移到__”的积木块,在积木块的下拉菜单中选择“鼠标指针”。

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网

这样飞机就会跟随鼠标移动啦~

接下来我们来思考,当玩家飞机死亡之后,循环结束了,需要执行什么呢?

我们很容易想到“将造型切换为破坏的画面”,然后“隐藏”。

先这么做,使用“外观”分类下的“将造型切换为___”,选择“破坏”造型,然后再使用“外观”分类下的“隐藏”积木块。

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网

但是这么做会出现一个问题:造型刚切换,马上就隐藏了,玩家根本来不及看见这一幕。我们可以使用“控制”分类下的“等待__秒”,填写“0.3”就行,将这个积木块插入“切换造型”和“隐藏”的中间。最后还要在“隐藏”积木块后面设置“控制”分类下的“停止全部”积木块,让整个游戏停止。

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网
这样玩家的飞机角色就制作好啦~

【玩家子弹】

接下来我们制作“玩家飞机的子弹”角色。

第一步同样是“从本地文件中上传角色”,选择“玩家子弹”图片(如下图),然后按刚才玩家飞机角色的相关步骤,调整角色大小,设置角色中心点。这里小编也不罗嗦啦。接下来直接来搭建代码。

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网

首先是拖动“事件”分类下的“当小绿旗被点击”积木块。大家都很熟悉这一步,小编不截图啦,为大家节约一些流量~

然后我们先让角色“隐藏”,在“外观”分类下找到“隐藏”积木块,接上去。如图:

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网
接下来我们要思考:咱们的角色会发射很多很多的子弹,怎么办呢?我们可以使用Scratch的“克隆”机制,让子弹角色不停的克隆自己,诞生出很多很多的子弹。

首先我们选择“控制”模块下的“重复执行”积木块,然后在重复执行的内容中,拖入“等待__秒”积木块,改成“等待0.3秒”。相当于让它每隔0.3秒循环一次。

接下来最关键的就是拖入“克隆__”积木块,选择“自己”。让它每次循环都克隆一颗子弹。

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网
在角色克隆自己之后,我们要通过“控制”模块下的“当作为克隆体启动时”积木块,对它的克隆体进行控制。

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网
子弹在出现时,需要移动到玩家飞机的位置。我们先使用“动作”分类下的“移动到____”积木块,选择“玩家”角色。

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网
接下来我们使用“外观”分类下的“显示”积木块,让它显示出来,大家对这个积木块已经很熟悉了吧,刚才才用过,此处就不重复写了。

然后我们需要让子弹重复向上移动,直到上部边缘。我们先使用“控制”分类下的“重复执行直到____”积木块。

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网
在“直到”后面的条件中,我们选择“侦测”分类下的“碰到__”积木块,选择“边缘”。

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网
在循环过程中,每次让子弹的y坐标增加2,使用“动作”分类下的“将y坐标增加__”,填入数字“2”。

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网
当子弹碰到边缘后,从循环中出来,我们要让子弹消失。我们选择“控制”分类中的“删除本克隆体”积木块。

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网

咱们来看看效果吧~

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网

【敌人角色】

接下来需要做“敌人”角色,像刚才制作“玩家”角色一样,从本地文件中上传角色,选择“敌人”图片(如下图),点击上传。然后调整角色大小、设置角色中心点。详见刚才“玩家”角色的操作截图。

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网

和子弹一样,敌人飞机同样需要“不停的克隆自己”。我们直接复制子弹的代码,把它放到“敌人”的代码中去,再进行修改。咱们把复制到“敌人”里的积木块,等待时间改成“0.8”秒,克隆的对象改成“自己”。

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网

接下来,我们拖出“控制”分类下的“当作为克隆体启动时”,来搭建具体的敌人飞机克隆体的控制积木。

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网

咱们首先要让飞机移动到屏幕上方边缘的任意位置出现。也就是说,我们要让它的Y坐标等于180,X坐标则是从-240到240的任意数值,然后让它“显示”出来。

先选择“动作”分类的“移到x:__y:__”,将y值填入180

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网
接下来使用“数字和逻辑运算”分类中的“在__到__间随机选择一个数”,填入“-240”和“240”,把它拖入“x”后的空格中。

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网

移动到位置后,我们让它显示。使用“外观”分类下的“显示”积木块。此处不再赘述。

我们希望它从顶部往下移动,移到底部,这样我们可以让它进行循环180次,每次y坐标减小2个单位。

使用“控制”分类下的“重复循环__次”,填入180

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网

接下来使用“动作”分类下的“将y坐标增加__”,填入“-2”。

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网
在循环结束后,我们需要让敌机消失,可以选择“控制”分类下的“删除本克隆体”。

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网
咱们可以先看一看效果:

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网

大家发现,敌人的飞机会随机出现,然后往下飞行,飞到底部就消失了。

接下来需要处理的就是敌机“被玩家子弹击中”或“撞到玩家飞机”的情况

我们拖入两个如果__那么”积木块到循环里面(每次循环都要判断,所以在循环里面)。

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网
在“侦测”分类中分别拖出两个碰到__?”,放到两个“如果__那么”的中间,分别通过下拉菜单选择“玩家”和“玩家子弹”。

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网
无论是碰到玩家还是碰到子弹,敌机死亡,都可以得分。所以我们拖出两个“数据”分类下的“将变量__的值增加__”,选择“分数”,数值填入“1”。

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网
当敌机碰到玩家时,玩家的生命值会减少。我们选择“数据”分类下的“将变量__的值增加__”,选择“玩家生命值”,数值填入“-10”,拖入“如果碰到玩家那么”的里面。

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网

在处理完分数和生命值之后,我们需要让敌人消失,可以选择“控制”分类下的“删除本克隆体”,分别拖到两个“如果__那么”的里面。

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网

这样敌机也制作完啦,我们看看效果吧~

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网

最后我们更换背景图片,就完成了今天的“飞机大战V1.0”~

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网

再来看看完成品的效果吧~~

【scratch游戏制作案例及教程】飞机大战V1.0-少儿编程网

下节课,小编将继续带大家完善“飞机大战”游戏,增添更多有趣的功能,制作V2.0版本~

本文链接:【scratch游戏制作案例及教程】飞机大战V1.0

转载声明:本站文章若无特别说明,皆为原创,转载请注明来源:少儿编程网,谢谢!^^


*文章为作者独立观点,不代表少儿编程网立场
发表评论

9 条评论
  • 板凳 12344414 

    素材在哪?

    • 儿童编程
      儿童编程 

      在编玩边学的官网就有哈,链接地址:https://www.codepku.com/

  • 椅子 aben 

    请问1.4版本的怎么实现克隆?

    • 儿童编程
      儿童编程 

      克隆是Scratch 2.0的新功能,建议你下载2.0版本或者使用在线编辑器

  • 沙发 aben 

    求素材,谢谢

相关文章
“少儿编程之父”米切尔教授:我们要像在幼儿园一样学习
“少儿编程之父”米切尔教授:我们要像在…
编程少年丨余疆海:个性十足却不失温度
编程少年丨余疆海:个性十足却不失温度
为什么大家都建议学习少儿编程要从Scratch开始?
为什么大家都建议学习少儿编程要从Scrat…
孩子学完各个阶段的编程课程能够参加哪些比赛?
孩子学完各个阶段的编程课程能够参加哪…
我的孩子从来没有接触过编程,0基础能不能学?
我的孩子从来没有接触过编程,0基础能不…
【精选作品】如何通过Scratch让小猪跑起来?(内附火影粉丝巨献,必看)
【精选作品】如何通过Scratch让小猪跑起…
Scratch是由麻省理工学院(MIT)设计开发的一款面向少年的简易编程工具,是适合于全世界儿童学习编程和交流的工具和平台