scratch怎么编程飞机大战游戏(scratch编程飞机小游戏)

本系列课程旨在培养编程思维,建立编程兴趣掌握设计思路,scratch只是编程思路的表现形式,如果有能力的朋友可以用熟悉的编程方式或者语言编写,至于算法之类的高级操作会在以后的机器人课程中结合传感器一起讲解

飞机大战

老规矩,首先我们一起来看一下《飞机大战》的游戏界面和运行效果。

scratch怎么编程飞机大战游戏(scratch编程飞机小游戏)

游戏界面

scratch怎么编程飞机大战游戏(scratch编程飞机小游戏)

游戏运行效果

游戏素材&思路分析

游戏素材:

两个舞台背景(一个游戏背景、一个游戏结束背景)、一个飞机、若干个子弹、若干个蝙蝠、得分变量。

思路分析:

1、游戏开始后,舞台背景切换为游戏背景;当飞机碰到任意一个蝙蝠后,舞台背景切换成游戏结束背景,游戏结束。

2、通过上下左右方向键控制飞机在游戏中的运动,飞机在游戏中的运动相当于在某一方向移动一定的距离。

3、当按下空格键时,飞机发射出子弹,子弹沿着垂直方向重复执行向上移动一定的距离的操作,直到碰到蝙蝠或者到达舞台的顶端。

4、每次按下空格键都要发射一个子弹,每次创建新的子弹都需要设置它的外观和脚本,这样会比较麻烦,简化一下,设置一个模板子弹,事先定义好它的外观和脚本,将它隐藏;每次发射子弹时,克隆一个外观、脚本和模板子弹一样的子弹,移动到飞机当前位置的上方(与飞机的x坐标是一致的,y坐标在飞机y坐标的基础上增加一定的距离)显示,然后克隆的子弹就会按照设定好的脚本(重复执行向上移动,碰到舞台顶端边缘或者蝙蝠后消失)执行。

5、同理,我们也定义一个模板蝙蝠,初始的位置y坐标让它在舞台顶端边缘,x坐标的位置随机产生,然后设定它的行为,一旦显示就重复执行向下运动,然后,每隔一段时间,就克隆一个蝙蝠,让它出现在顶端的随机位置,下落。

6、当任意一个子弹碰到蝙蝠的时候,得分加1,蝙蝠消失。

7、当任意一个蝙蝠碰到飞机的时候,游戏结束,切换至游戏结束界面。

实现操作&脚本编写

1、设置舞台的背景&初始脚本

1)游戏主界面的背景从背景库中选择(背景库-》主题-》太空-》stars)。

scratch怎么编程飞机大战游戏(scratch编程飞机小游戏)

选择游戏主界面背景

2)选择舞台默认背景的背景1,修改成游戏结束背景。

scratch怎么编程飞机大战游戏(scratch编程飞机小游戏)

绘制游戏结束界面

3)设置舞台的初始脚本,游戏开始时,设置舞台背景为游戏背景(stars)。

scratch怎么编程飞机大战游戏(scratch编程飞机小游戏)

设置游戏开始时的游戏界面

2、新增飞机角色&初始脚本

1)默认角色小猫本游戏中用不到,在角色库中点击鼠标右键,点击删除即可。

2)游戏中的主角飞机从角色库中选择(角色库-》分类-》运输工具-》Spaceship),缩小至合适大小。

scratch怎么编程飞机大战游戏(scratch编程飞机小游戏)

增加飞机角色

3)设置飞机的动作脚本,按下方向键(上、下、左、右)时,飞机分别向上、向下、向左、向右移动一定的距离。

scratch怎么编程飞机大战游戏(scratch编程飞机小游戏)

设置飞机的动作脚本

4)脚本添加完毕,点击绿色小旗运行看一下效果吧!

scratch怎么编程飞机大战游戏(scratch编程飞机小游戏)

按下方向键飞机的运行效果

3、新增模板子弹角色&初始脚本

1)游戏中的模板子弹角色从角色库中选择(角色库-》分类-》物品-》Ball),缩小至合适大小。

scratch怎么编程飞机大战游戏(scratch编程飞机小游戏)

增加模板子弹角色

2)设置模板子弹的初始脚本,默认位置在(0,0),并将其隐藏,等需要子弹的时候,再把它显示出来。

scratch怎么编程飞机大战游戏(scratch编程飞机小游戏)

设置模板子弹的初始脚本

4、新增模板蝙蝠角色&初始脚本

1)游戏中的模板蝙蝠角色从角色库中选择(角色库-》分类-》动物-》Bat1),缩小至合适大小。

scratch怎么编程飞机大战游戏(scratch编程飞机小游戏)

增加模板蝙蝠角色

2)设置模板蝙蝠的初始脚本,默认位置在(0,180),并将其隐藏,等需要蝙蝠的时候,再把它显示出来。

scratch怎么编程飞机大战游戏(scratch编程飞机小游戏)

设置模板蝙蝠的初始脚本

5、飞机发射子弹的脚本

1)上面讲到过,飞机发射子弹不是新创建一个子弹,而是克隆一个已存在模板子弹的外观和脚本并显示在游戏界面中;如果每次按下空格键都克隆一个子弹,子弹的速度很快,通过等待的指令来控制飞机发出子弹的频率。

scratch怎么编程飞机大战游戏(scratch编程飞机小游戏)

飞机按下空格键发出子弹

2)点击绿色小旗运行,按下空格键飞机没有任何反应,为什么?因为飞机虽然克隆了子弹,但是克隆子弹是隐藏并且位置是固定不变的,飞机无法设置子弹的动作指令,子弹通过设置克隆子弹来配置其动作指令:子弹移动到飞机的上方显示(x坐标与飞机的x坐标一样,y坐标是飞机的y坐标加一定的距离),然后重复向上移动直到到达顶端边缘(y坐标180)时消失(隐藏并删除克隆的子弹)。

scratch怎么编程飞机大战游戏(scratch编程飞机小游戏)

飞机发射子弹后,子弹的动作脚本

3)点击绿色小旗,运行看一下效果:

scratch怎么编程飞机大战游戏(scratch编程飞机小游戏)

飞机发射子弹效果

6、蝙蝠随机出现的脚本

1)和子弹一样通过克隆蝙蝠来生成一个新的蝙蝠,通过设置克隆蝙蝠的动作指令来完成操作:游戏开始后,每隔一定的时间,生成一个克隆蝙蝠,克隆蝙蝠移动到顶端的随机位置(x坐标是-240和240中间的任意一个随机数,y坐标是180)显示,重复执行向下移动,直到碰到底端的边缘(y坐标是-180)消失(隐藏并删除克隆蝙蝠)。

scratch怎么编程飞机大战游戏(scratch编程飞机小游戏)

克隆蝙蝠垂直下落脚本

2)点击绿色小旗运行,看一下效果:

scratch怎么编程飞机大战游戏(scratch编程飞机小游戏)

蝙蝠垂直下落脚本

7、蝙蝠碰到子弹&蝙蝠碰到飞机的脚本

1)不管蝙蝠怎么移动,也不管飞机什么时候发射子弹,只要蝙蝠在移动过程中碰到子弹,证明子弹已经打中蝙蝠,蝙蝠就要消失。

scratch怎么编程飞机大战游戏(scratch编程飞机小游戏)

蝙蝠碰到子弹动作指令

2)不管蝙蝠怎么移动,也不管飞机怎么移动,只要飞机在移动过程中碰到蝙蝠,证明飞机已经被打中,舞台就要切换至游戏结束背景,因为飞机不能直接控制舞台,之前也讲过,飞机在被打中时发送一则消息告诉舞台自己被打中,舞台在接收到消息后切换自己的背景,然后停止游戏。

scratch怎么编程飞机大战游戏(scratch编程飞机小游戏)

飞机碰到蝙蝠发送消息给舞台

scratch怎么编程飞机大战游戏(scratch编程飞机小游戏)

舞台接收到飞机被打中的消息切换至游戏结束背景

3)点击绿色小旗运行,看一下效果:

scratch怎么编程飞机大战游戏(scratch编程飞机小游戏)

蝙蝠被打中,飞机被打中效果

8、记录玩家得分

1)新增变量,得分记录玩家共打中多少个蝙蝠。

scratch怎么编程飞机大战游戏(scratch编程飞机小游戏)

新增变量记录玩家得分

2)得分变量在游戏开始时清零,在舞台脚本中增加将得分设定为0。

scratch怎么编程飞机大战游戏(scratch编程飞机小游戏)

游戏开始将得分设定为0

3)子弹打中蝙蝠时得分加1,在蝙蝠的脚本中增加如果碰到子弹将得分加1。

scratch怎么编程飞机大战游戏(scratch编程飞机小游戏)

子弹打中蝙蝠,得分加1

至此,飞机大战的脚本都已编写完毕,大家动手试一试吧!有能力的朋友们可以想一想,如何随着时间的推移,蝙蝠出现的频率和垂直下落的速度越来越快呢?

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论