Scratch 编程软件简单易学,自编自导自玩,其乐无穷,小奥今天就带大家用Scratch自制自制《绝地飞行》游戏,一起来感受这其乐无穷的魅力吧!
此次制作的游戏采用电脑键盘操控,上期已经介绍了如何使用Picoboard 控制板进行互动,具有无限创造力的小伙伴们也可以自己用Picoboard 控制板制作一个游戏手柄来操控。
我们这次要制作的游戏名为《绝地飞行》,整体规划如图1 所示。游戏共有5 关,每关都有不同的地图和航线,难度会依次递增。操控的方式是使用电脑键盘的上、下、左、右键控制小飞机方向,需使小飞机循着白色航线飞行,才会过关,倘若驶离航线则游戏失败, 自动回到起点。若通过此关,就可以直接进入下一关,5 关都闯过则闯关成功。

下面进入游戏制作环节。

Python编写飞行棋游戏 scratch简单编程飞行棋_Scratch

■ 图 1 游戏规划图

1
背景制作

在开始制作游戏前,我们需要先将素材文件(http://pan.baidu. com/s/1gdfeMyv)下载到电脑中。在“新建背景”中选择“从本地上传背景”,选择刚刚下载的“ASR- 绝地飞行”文件夹中的“img_bg_level_1.jpg”,单击“确定”,并用“选择”工具将其调整至舞台中部。然后依次添加“img_ bg_level_2.jpg”~“img_bg_level_5.jpg”作为背景的其他造型。在5 幅图中,分别应用“直线”工具绘制白色航线,注意区分不同级别关卡的难度。绘制完成后如图2 所示。

Python编写飞行棋游戏 scratch简单编程飞行棋_上传_02

 

■ 图2 添加并绘制背景

 

2
角色设定

本游戏中共设有7 个角色,如图3 所示,我们分别对其进行角色添加。

Python编写飞行棋游戏 scratch简单编程飞行棋_Scratch_03

 

■ 图3 角色区

 

(1)添加主界面角色:在“新建角色”中选择“从本地上传角色”,在“ASR- 绝地飞行”文件夹中选择“img_bg_logo.jpg”,单击“确定”,并用“选择”工具将其调整至舞台中部(见图4)。

Python编写飞行棋游戏 scratch简单编程飞行棋_上传_04

 

■ 图4 添加主界面角色

(2)添加小飞机角色:在“新建角色”中选择“从本地上传角色”,在“ASR- 绝地飞行”文件夹中选择“小飞机.png”,单击“确定”,并用“选择”工具将其大小调整适中(见图5)。

Python编写飞行棋游戏 scratch简单编程飞行棋_Python编写飞行棋游戏_05

 

■ 图5 添加小飞机角色

(3)添加开始游戏角色:在“新建角色”中选择“从本地上传角色”,在“ASR- 绝地飞行”文件夹中选择“开始游戏.png”,单击“确定”,并用“选择”工具将其大小调整适中。复制造型,在“造型2” 中应用“选择”工具将整体上移一小段(见图6)。

Python编写飞行棋游戏 scratch简单编程飞行棋_控制板_06

■ 图6 添加开始游戏角色

(4)添加过场角色:在“新建角色”中选择“绘制新角色”, 应用“椭圆”工具绘制白色实心圆作为过场动画(见图7)。

Python编写飞行棋游戏 scratch简单编程飞行棋_上传_07

 

■ 图7 添加过场角色

(5)添加关卡角色:在“新建角色”中选择“绘制新角色”, 应用“文本”工具写出“Level 1”,复制造型,完成Level 2 ~ Level 5(见图8)。

Python编写飞行棋游戏 scratch简单编程飞行棋_Python编写飞行棋游戏_08

 

■ 图8 添加关卡角色

(6)添加获胜角色:在“新建角色”中选择“绘制新角色”, 应用“文本”工具写出“You Win”(见图9)。

Python编写飞行棋游戏 scratch简单编程飞行棋_Scratch_09

 

■ 图9 添加获胜角色

(7)添加重新开始角色:在“新建角色”中选择“从本地上传角色”,在“ASR- 绝地飞行”文件夹中选择“重新开始.png”,单击“确定”,并用“选择”工具将其大小调整适中。复制造型,在“造型2” 中应用“选择”工具将整体上移一小段(见图10)。

Python编写飞行棋游戏 scratch简单编程飞行棋_控制板_10

 

■ 图10 添加重新开始角色

 

添加声音,在舞台的声音面板中选择“从本地文件中上传声音”,在“ASR- PROJECT 制作
绝地飞行”文件夹中选择“Summer.mp3”,单击“确定”,并调节音量大小至适中(见图11)。

Python编写飞行棋游戏 scratch简单编程飞行棋_Python编写飞行棋游戏_11

 

■ 图11 添加声音

4
程序设计

(1)新建变量:死亡次数、分数(见图12)。

Python编写飞行棋游戏 scratch简单编程飞行棋_上传_12

 

■ 图12 新建变量

 

(2)舞台程序:当游戏开始时,隐藏变量“分数”,循环播放声音“summer”直到播放完毕;当接收到消息“1”时,进行变量“死亡次数”和“分数”的初始化归零,同时将背景切换为第一关的背景;当接收到消息“win”时,等待0.5s 后在舞台上显示变量“分数” 的值(见图13)。

Python编写飞行棋游戏 scratch简单编程飞行棋_控制板_13

 

■ 图13 舞台程序

(3)主界面角色程序:当游戏开始时,移至舞台中央并显示; 当接收到消息“1”时隐藏;当接收到消息“win”时将变量“分数” 的值增加100,然后减去死亡次数×10,得到最终分数,分数小于0 的情况均记为0,然后在舞台上显示分数(见图14)。

Python编写飞行棋游戏 scratch简单编程飞行棋_Python编写飞行棋游戏_14

 

■ 图14 主界面角色程序

(4)开始角色程序:当游戏开始时,移至最上层并显示,碰到鼠标指针会切换至造型2 ;当被点击时,广播消息“message1” 给过场角色;当接收到消息“1”时隐藏(见图15)。

Python编写飞行棋游戏 scratch简单编程飞行棋_Scratch_15

 

■ 图15 开始角色程序

(5)过场角色程序:应用前面讲到的过场动画的制作,当开始游戏时,将角色大小设定为0 并隐藏;接收到开始游戏角色发来的消息“message1”时,移至最上层并显示,在放大与缩小的过程中广播消息“1”(见图16)。

Python编写飞行棋游戏 scratch简单编程飞行棋_Python编写飞行棋游戏_16

■ 图16 过场角色程序

(6)小飞机角色程序:小飞机角色当游戏开始时隐藏,当接收到消息“win” 时隐藏( 见图17)。

Python编写飞行棋游戏 scratch简单编程飞行棋_上传_17

 

■ 图17 小飞机角色程序1

当小飞机角色偏离白色航线时消失,从本关重新开始,发送消息“run”,同时变量“死亡次数” 加一(见图18)。

Python编写飞行棋游戏 scratch简单编程飞行棋_控制板_18

 

■ 图18 小飞机角色程序2

当接收到消息“1”时代表开始第1 关,移至底部,然后广播消息“run”;当完成此关,即y 轴坐标> 175 时,广播消息“2”(进入下一关),然后停止当前脚本。将此段程序复制,依次更改接收与发送消息的名称,以及切换场景,完成2~5关。当完成第5 关后, 广播消息“win”(见图19)。

Python编写飞行棋游戏 scratch简单编程飞行棋_控制板_19

 

■ 图19 小飞机角色程序3

当接收到消息“run”时,小飞机开始飞行,上、下、左、右键均并列放置在无限循环结构中, 控制飞机行进方向;循环内最下方判断小飞机角色是否偏离白色航线,若偏离则淡化,并停止当前脚本(见图20)。

Python编写飞行棋游戏 scratch简单编程飞行棋_Scratch_20

Python编写飞行棋游戏 scratch简单编程飞行棋_Python编写飞行棋游戏_21

 

Python编写飞行棋游戏 scratch简单编程飞行棋_上传_22

Python编写飞行棋游戏 scratch简单编程飞行棋_上传_23

Python编写飞行棋游戏 scratch简单编程飞行棋_控制板_24

 

 

 ■ 图20 小飞机角色程序

(7)关卡角色程序:当开始游戏时隐藏;第一关开始时显示, 每关开始时将切换为相应的造型,并将变量“分数”的值增加100;当接收到“win”时隐藏(见图21)。

Python编写飞行棋游戏 scratch简单编程飞行棋_上传_25

 

■ 图21 关卡角色程序

(8)获胜角色程序:当游戏开始时隐藏;接收到消息“1”时隐藏;
接收到消息“win”时移至最上层并显示(见图22)。

Python编写飞行棋游戏 scratch简单编程飞行棋_控制板_26

 

■ 图22 获胜角色程序

(9)重新开始角色程序:与开始游戏角色程序基本一致(见图23)。

Python编写飞行棋游戏 scratch简单编程飞行棋_Python编写飞行棋游戏_27

 

■ 图23 重新开始角色程序

Step5:运行并调试
到这里,游戏就基本制作完毕,让我们先试玩一下吧!单击绿色旗
子运行游戏,单击“开始游戏”,通过键盘进行控制自己的小飞机吧(见图24)!若觉得游戏难度不够,你还可以增加更多的关卡。

Python编写飞行棋游戏 scratch简单编程飞行棋_控制板_28

 

■ 图24 《绝地飞行》游戏界面