搜索
你的位置:意昂体育 > 产品展示 >

第三章:单机小游戏:星际飞行

发布日期:2025-08-05 16:32 点击次数:197

现在是人工智能时代,再发展个20年,所有就业必将被人工智能取代,到时候只有程序员、工程师和科学家有工作,不会点编程的人就只能躺家里领点微薄的救济金过日子了。赶紧来跟我一起学编程吧。

上一章我们介绍了各种类型的积木代码,并带大家做了一个小型的积木代码程序:韩信点兵。这一章继续带大家做一个单机小游戏:星际飞行。继续熟悉一下积木代码。

下面是星际飞行小游戏的情景描述和要求:

玩家驾驶宇宙飞船意外穿越到了太阳系中危险的小行星带,无数大 小不等的小行星迎着飞船飞来。玩家通过鼠标控制飞船左右移动,避免 与小行星相撞。如果能坚持超过30秒,则游戏胜利;如果不小心与小行 星相撞,则游戏结束。 要求在舞台上显示玩家的游戏时间,并且,当游戏胜利时,提 示“你真棒!”;当游戏失败时,提示“你光荣了!”。

按照以上描述使用Scratch编写星际飞行的小游戏,需要准备一些素 材:1个星空背景图、一个宇宙飞船图片和一个小行星的图片。其中星空背景图在scratch的编辑器里的背景素材中就自带了。但是小飞船和小行星陨石的图片则没有自带,因此,我们需要去百度搜索里下载好这两张图片,并用ps工具将图片做好处理。在这里我已经为大家准备好了这两张图片,会在赠品包里发给大家。下面我们开始制作这个小游戏。

首先第一步当然是创建项目并把项目命名为星际飞行后保存。紧接着就是给把准备好的素材放入到项目中并创建角色和舞台。

第一节:创建项目并搭建舞台和角色

1.首先把新建项目的小猫角色删除掉,然后选中舞台,然后再选中左侧上方的背景选项,然后点击左下方的选择背景,找到名字为stars的背景图选择即可。这个就是星空背景图了,操作如下图所示:

舞台背景选好后,把原来的空白背景删除掉,效果如下图所示:

2.创建小飞船和小行星两个角色:操作如下图所示:

上传后的角色如下图所示:

第二节:编写飞船的控制积木脚本

1.首先选中小飞船这个角色,然后我们来分析一下这个积木脚本给怎么搭建。小飞船只能跟着鼠标左右移动,因此只要设置小飞船的x坐标为鼠标的x坐标即可。而游戏结果的三种状态可以创建一个名字为状态的变量存放即可。“状态”变量有3个值:表示游戏进行中,1表示游戏胜利,2表 示游戏失败。“状态”变量的初始值设定为。表示刚进入游戏时为游戏进行中。

2.那么现在我们来按步骤搭建这个积木脚本,首先不管咋样先把事件模块中的绿色旗子被点击的积木拖出来作为积木块的第一个积木。再在变量积木模块中创建一个变量命名为状态。并拖出将状态设为0的积木放到下方。

3.紧接着当然是编写控制小飞船的移动的积木脚本:我们的设计是把飞船放在舞台的 底部区域,用鼠标控制飞船作水平移动来躲避小行星的撞击。要实现这 个功能,需要用到运动积木模块中的“移到x, y”积木和侦测积木模块中 的“鼠标的x坐标”积木。将“鼠标的x坐标”积木放入“移到x, y”积木的第一 个孔(x坐标),而第二个孔(y坐标)的值设定为-150。这样就使飞船 固定在“y坐标”为-150的位置上跟随鼠标作水平移动。将这个积木组合放入到控制积木模块中的“重复执行直到…”积木中,使飞船在游戏过程中能够一直跟随鼠标移动。编写好的积木块如下图所示:

4.由于小飞船的图片太大了,在舞台上显得不协调,需要使用外观积木模块中的“将角色的大小设定为20”指令积木把飞船角 色的大小设定为原始大小的20%。如下图所示:

5.这里必须指出的是,只有游戏进行中,鼠标才跟着动,因此,这里的重复执行积木的小孔里我们嵌入状态>0的积木块,如下图所示:

第三节:编写游戏计时功能的脚本

这个游戏设定玩家坚持30秒就获得胜利,同时将游戏的持续时间显示在舞台上。要达到计时目的,可以使用“侦测”积木模块中的“计时器”积木。这个积木在项目运行时从开始计时,只要检测“计时器”积木的返回值超过30秒,就把“状态”变量的值修改为1,即游戏胜利。同时为了在舞台上显示游戏持续时间,需要创建一个名为“时间”的变量,并 把“定时器”积木的返回值传递给它。当然在游戏开始时我们必须将计时器和时间这个变量的值都设定为0。如下图所示:

第四节:显示游戏提示信息

当游戏胜利时,使用外观积木模块中的“说”积木来显示“你真棒!”的提示信息;当游戏失败时,使用“说”积木显示“你牺牲了!”的 提示信息。这里还得用到控制积木模块中的“如果.....那么”积木。如下图所示:

第五节:编写小行星运动的脚本

首先我们单击选中小行星角色,开始编写积木脚本。首先不敢怎样先拖出第一个积木,当绿色旗子被点击的积木。然后先将用外观积木模块中的隐藏积木吧小行星角色隐藏起来。如下图所示:

1.接下来我们来编写小行星的运动积木脚本:我们的设计是让数量众多的小行星从舞台的顶部由上往下随机运 动,这要用到Scratch的克隆功能。在控制积木模块中的“重复执行直到…”积木内,以 0.2秒为间隔,不断地使用控制积木模块中的“克隆[自己]”积木创建小行星角色的副本, 直到游戏结束。如下图所示:

2.接下来我们给每个小行星的克隆体做运动轨迹的积木编写:小行星角色的副本(克隆体)被创建后,需要随机设定它的大小和 方向,这样模拟的小行星运动将显得比较自然,且富于变化。于是我们使 用运动积木模块中的额“移到x, y”积木将小行星角色的克隆体移到舞台顶部的一个随机位置上,再使用“在3秒内滑行到x, y”积木将小行星的克隆体移到舞台底部的 一个随机位置上,之后将小行星克隆体删除。当然我们还必须使用侦测积木模块中的“当作为克隆体启动时”的积木来侦测克隆体的诞生。积木块如下图所示:

第六节:编写碰撞检测功能

碰撞检测功能仍然是放在小飞船角色里的,首先我们单击选中小飞船角色。然后进行积木脚本的编写。当舞台上的飞船角色与飞来的小行星相撞时,就将“状态”变量的值 设定为2,表示游戏失败。可以使用侦测积木模块中的“碰到…”积木进行碰撞检测。如下图所示:

这里还有个小问题就是在游戏结束时,小行星还在飞,但是游戏结束我们应该让所有小行星消失在舞台上才对,因此我们还得给小行星角色加一点积木脚本。单击选中小行星角色,如下图所示:

好了,到此为止,我们的小游戏就完成了。其实当然这个游戏我们可以做的更复杂些,比如设置关卡等。这些就留给大家作为作业完成吧。

下一章我将介绍积木模块中的变量和运算。并继续带大家做一些有趣的小积木程序。

查看更多