少儿编程Scratch第三讲:宇宙大战.枪战游戏

小朋友这周的表现还算不错。周末多数时间都由我陪(bi)着(zhe)做课本上的数学题,后来还学了英语。任重道远啊,语数外都还得加强,还远不到自己就能取得好成绩的阶段。
 

上周说好这周要做一个发射炮弹的游戏。最后在周日晚上八点学习完英语以后才开始。
 

 

目的

目的:设置一艘宇宙飞船或其他角色,实现上下左右移动。每按一次空格键即发射一枚炮弹,同时播放声音,炮弹往屏幕上方飞,直到飞出屏幕。发射子弹、炸弹是很常见的游戏功能。
 

少儿编程Scratch第三讲:宇宙大战.枪战游戏
 

实现方式

宇宙飞船角色的上下左右移动是比较简单的。我们在接球运动中已经学过了。只需要不停循环,检测是否有按键按下。如果左箭头按下,X轴就减少10;如果右箭头按下,X轴就增加10;如果上箭头按下,Y轴就增加10;如果下箭头按下,Y轴就减少10。对于这个步骤,小孩表示理解。
 

这是我们第一次使用发射炮弹的功能。首先要找到一个炮弹的图,可以选择球类或者其他物品, 最后我们选择了一个闪电,但要将闪电转一下,让尖尖的头朝上。
 

Scratch提供了克隆角色的功能,这是一个强大的功能,就是克隆出另外一个副本出来。克隆体启动时,可以执行单独的脚本,即相当于一个子函数,控制这个炮弹克隆体。每按一次按钮,炮弹就克隆复制自己。然后炮弹往屏幕上放飞行就比较简单了,就是向上移动一定的位置,或者Y轴增加一定的距离。不停循环即可往上飞行。
 

逐步改进

 

制作程序的过程,是一个不断测试改进的过程。我们在制作过程中,发现了一些问题,并且逐步解决了。
 

1.    宇宙飞船的范围确定。 如果不设置范围,那么左右上下会移出屏幕。因此我们后来增加了一个判断,即只有在X轴大于-220时,才继续往左移动,否则就不往左移动了。Y轴类似。这样通过四个箭头的移动,保证宇宙飞船一直都不会超出屏幕,同时上方保留一定的空间。

2.    克隆体一直往上飞行,到顶部以后,炸弹会停留在那边,留下一个尾巴。我们增加了判断。如果碰到边缘,就“删除克隆体”,这样克隆体碰到边缘后就消失了。

3.    播放声音:每次发射炸弹后,系统会播放声音。播放声音不能直接在循环中做,因为那样会做完以后才能继续发射下一个炮弹,影响效果。因此广播一个消息,然后在消息中播放音乐。最后我们选择了一个敲打低音鼓的声音,这样发射炸弹以后,就发出类似爆炸的声音了。

 

制作步骤

 

第一步:飞船角色上下左右移动。
1.    加入宇宙飞船角色;选择星空背景。
2.    造型中,将飞船大小调小一点;设置飞船的中央点为中心。
3.    设置开始事件
4.    直接重复执行,无限循环
5.    加判断,然后使用侦测 “按键 左移键是否按下”,那么X坐标增加-11。即飞船向左边移动。
6.    后来我们增加了一个判断。如果X坐标大于-220,才将X坐标增加-11,否则就不增加。即到达左边框以后,飞船不会继续往左边移动,保持在屏幕范围内。
7.    向右,向下和向上,方法类似。

游戏做出来后,小小朋友要来玩。结果她一直都按住箭头,飞船会超出屏幕。为了解决这个问题,我们就增加了边框的判断。

 

少儿编程Scratch第三讲:宇宙大战.枪战游戏
 

少儿编程Scratch第三讲:宇宙大战.枪战游戏
–飞船:上下左右移动–
 

 

第二步:克隆炸弹
8.    加入闪电角色。
9.    造型中,将闪电调小一点;设置飞船的中央点为中心。然后转动了一下。
10.  设置开始事件
11.  直接重复执行,无限循环
12.  每个循环,都将子弹 “移动”到“飞船”。因为飞船是移动的,所以发射炸弹时,要从飞船位置上发射出来。
13.  增加如果那么的判断,检测空格按键是否被按下。
14.  如果空格键被按下,那么就克隆自己。(这里可以克隆其他角色-例如飞船)。
15.  然后设置:控制>克隆体启动时。执行这个克隆体的脚本。

a.    首先,外观>隐藏自己。 (开始的时候,我们是没有增加隐藏、显示的步骤的。这样炸弹就在飞船上面能够看见。)

b.    然后选择:运动>面向0°方向,即朝上。这里可以改变方向,例如向右发射炸弹等。(可以选择不同的方向,测试效果)

c.     然后外观>显示自己。

d.    重复执行;移动8步。炸弹即往上飞行。(可以改变移动的速度。)

e.    增加判断,如果碰到边缘,那么,删除克隆体。(如果不删除,就留一个尾巴在屏幕上方。)

16.  增加声音:

a.    克隆自己以后,广播消息1;

b.    当收到消息1时

1)演奏乐器设置为18-鼓

2)弹奏鼓声2, 长度为0.25节拍。(要使用广播,否则飞船发射炸弹就要等待声音播放,导致不连续。)

 

少儿编程Scratch第三讲:宇宙大战.枪战游戏
 

 

少儿编程Scratch第三讲:宇宙大战.枪战游戏
-炸弹:克隆自己、克隆后移动、广播播放声音。
 

 

后续改进

1.    打算在上方随机出现另外一个角色,例如鬼怪,鬼怪也可以克隆自己。鬼怪按照随机的方向自上往下运动。(角色随机从上往下运动,在上一球类发射的课程中已经学过)。如果鬼怪碰到子弹,鬼怪则消失,并且播放打中的音乐,最后播放一个炸弹爆炸的效果。
2.    增加计分器,每消灭一个鬼怪,就增加10分,这样可以进行游戏了。
 

分享地址:https://scratch.mit.edu/projects/196376484/
浏览器中需要Flash播放器。
 

这个游戏,并不是由小孩独自完成。是在家长指导下,由小孩点击操作完成。目的依然是培养兴趣,了解逻辑过程,了解要实现什么功能,使用什么控件,对控件如何操作。
 

原文始发于微信公众号( 艾博特 ):少儿编程Scratch第三讲:宇宙大战.枪战游戏|

发表评论