今天我们来完成一个星球大作战的小游戏,这个游戏是一个经典的飞机游戏,我们控制的角色出现在屏幕下,我们可以控制角色左右移动或上下移动;敌人会从屏幕上方不断出现,我们控制的角色要是碰到了敌人,游戏结束。整个舞台效果如下图:

如果不喜欢看文字版,可以点击本号的视频看视频教程。

一、学习目标

1、学习使用“广播”指令模块。

2、学会循环条件嵌套。

3、学会跳出循环。

二、添加背景

我们是做的是星球大作战,所以背景选用星空“Stars”。

三、添加角色

1、将默认小猫角色删除,添加飞船“Rocketship”角色,并调整大小为45,选择造型“rocketship-e”。

2、选择一个圆球角色“Ball”作为子弹,大小调整为30,并将它拖到飞船的顶端。

3、添加外星动物“Ladybug2”角色和“Hippo1”角色,并调整它们的大小为50和30。

4、添加“绘制”角色

我们需要一个游戏结束的角色,点击“绘制”,选择“T”文本按钮,输入“GameOver”字母,并调整大小,及颜色。我这里选择“Pixel”字体,红色,并调整大小。

四、编程

1、给飞船“Rocketship”编程

飞船的角色会对应键盘按键的操作来移动,当按下键盘“←”时,飞船会向左移动;当按下“→”键时,飞船会向右移动。我们需要“当按下空格键”指令。点击倒三角,可以选择左右键。我们需要让它左右移动,所以需要2个这样的指令。

左右移动,是x坐标加减,代码如下图:

2、给子弹“Ball”编程

我们希望子弹能一直发射,所以直接用了一个“重复执行”指令。在“重复执行”指令中让子弹的y坐标不断增加,直到碰到舞台边缘时,让子弹回到飞船,因为子弹是从飞船向外射出的。代码如下图:

3、给敌人“Ladybug2”编程

敌人的移动和子弹的移动相似,只不过敌人是从上往下移动。并且敌人每次出现的水平位置不同。代码如下图:

如果敌人碰到了飞船,游戏结束,游戏结束,我们需要让GameOver显示,同时停止游戏,怎么能告诉GameOver,它可以显示并停止所有脚本了呢?我们需要角色之间互相通信,这时我们可以用“广播”指令。通过广播告知GameOver,让GameOver显示并停止所有脚本。广播指令在事件当中,如下图:

我们点击倒三角,选择新消息,可以新建一个消息“GameOver”。

整体代码如下图:

我们既然发了广播消息,跟角色自己有关的就要处理消息,比如当“GameOver”接收到了“GameOver”的消息,它相应的就要处理这个消息。如果跟角色没关系,就不需要处理。

4、给“GameOver”编程

在游戏一开始的时候,它需要隐藏,当收到“GameOver”的广播消息时,它要出现。并停止全部脚本。代码如下图:

5、给敌人2号“Hippo1”编程

它的程序和敌人“Ladybug2”一样的。所以把“Ladybug2”的程序复制给它即可。

我们可以调整移动的速度,使两个敌人的速度不同。

以上编程及效果已经完成,我们可以再加上得分变量,增加趣味性。

6、继续给子弹“Ball”编程

新建一个全局变量“得分”。

初始化得分为0。子弹打到敌人加1分。整体代码如下图:

​​最后别忘了保存文件。快来动手做一做吧。

今天的scratch新手教程就分享到这里啦!

别忘了“关注”我呀,我会持续分享哒!