少儿编程Scratch中级项目——飞翔小鸟游戏介绍 通过Scratch制作飞翔小鸟(Flappy Bird)游戏可以锻炼
游戏介绍
通过Scratch制作飞翔小鸟(Flappy Bird)游戏可以锻炼孩子的以下一些能力:
1.判断语句:孩子们将学习如何使用“如果-那么”语句来根据条件执行不同的代码。在飞翔小鸟游戏中,这可以用于检测小鸟是否碰到了管道或舞台边缘。
2.循环语句:循环语句用于重复执行一组指令。在飞翔小鸟中,孩子们可以使用循环来让管道不断移动,或者让小鸟持续下落直到玩家按下空格键使其上升。
3.克隆语句:克隆语句用于重复执行一组指令。在飞翔小鸟中,孩子们可以使用循环来让管道不断移动,或者让小鸟持续下落直到玩家按下空格键使其上升。
4.逻辑运算:逻辑运算包括“与”、“或”、“非”等,孩子们将学习如何使用这些运算来构建更复杂的条件判断。
5.数学技能:理解坐标系、随机数的数学概念。
6.逻辑思维:在制作游戏的过程中,孩子们需要分析游戏规则和机制,想象空间距离,以确定如何编写代码来实现这些规则。
游戏设计
1.游戏规则
使用键盘的空格键操作“小鸟”角色飞翔不碰到水管和舞台边缘。
2.所需角色
小鸟:Flappy Bird的素材,游戏控制的主角色,通过使用空格键控制它不触碰到水管和舞台边缘
水管:Flappy Bird的素材,需要自克隆的一对素材,x轴间距相同,y轴取随机数
3.游戏逻辑
当用户点击绿旗开始游戏后,会有一个3秒的倒计时。在这段时间内,初始的“水管”角色会被隐藏放置在舞台右侧边缘,其初始X坐标大约设定为200。在此期间,“水管”角色每间隔3秒钟就会克隆自身一次。每当一个新的“水管”克隆体被创建出来时,它的X坐标会被重置为200,而Y坐标则会随机设定,以确保每个水管的高度不同,增加游戏的趣味性和挑战性。接着,该角色将不断地执行“向左移动”,即执行“X坐标减2”的操作,模拟水管从屏幕右侧向左侧移动的效果。
玩家需要控制“小鸟”角色,使其在飞行过程中不与任何“水管”相撞。游戏会记录“小鸟”保持飞行的时间长度,并将这一数值作为玩家的得分。“飞翔时间”变量用于追踪玩家的得分,玩家需要尽可能长时间地保持“小鸟”在空中飞行而不碰到障碍物,以获取更高的得分。
4.代码搭建
鼠标移到页面右下角的“猫头”,上传上面两个角色素材,然后右键再复制一个“水管”角色,在“造型”模块下使用垂直翻转变换一个方向
然后在右下角的“图片”模块上选择一个背景,我这里选择了一个户外的蓝天
这样我们整体的外观就有了。
接下来是“小鸟”角色的代码模块设计。当点击绿旗开始游戏后,“小鸟”将被放置在靠近舞台左侧的位置。为了缓解倒计时期间的等待感,“小鸟”将在开始的3秒内滑行至舞台内的某个预设点,以吸引玩家的注意力。
之后,“小鸟”将进入持续下降状态,通过“Y坐标增加-2”的操作来模拟重力效果。这意味着,数值增加的负值越小,下降速度就越快。为了使“小鸟”能够在玩家的控制下上升,程序将侦测“空格键”的按下情况。一旦检测到玩家按下空格键,“小鸟”的“Y坐标增加10”,表示向上飞升。为了增加互动性,我们可以改变它的角度使其有种煽动翅膀飞翔的感觉,代码如下:
最后如果“小鸟”碰到了上方的“水管”、下方的“水管”或是舞台的边缘,则应使用逻辑运算符“或”来判断这些情况中的任意一种发生时,立即停止所有相关脚本,从而结束游戏。
“小鸟”角色的主要代码现在已经搭建完成。为了追踪玩家在游戏中飞翔的时间,我们需要建立一个名为“飞翔时间”的变量来统计玩家控制“小鸟”在空中飞行的总时间。因为游戏开始时有一个3秒的倒计时阶段,在此期间不应计入玩家的得分时间,因此“飞翔时间”的计时应在等待3秒后才开始,具体代码如下:
接下来我们将开始搭建下方“水管”角色的代码。在创建好“水管”角色之后,首先应该手动调整其位置,感受一下它在舞台上的视觉效果。将“水管”移动至“X坐标为200,Y坐标为-200”的位置是比较合适的,这样可以确保“水管”位于舞台的右侧边缘,并且不会过高或过低。为了使游戏持续进行,需要使“水管”每隔3秒重复执行一次“克隆自己”的操作。
当“作为克隆体启动时”,再把它显示到“x坐标为200”,“y坐标为-200和-280之间取随机数”的位置,y坐标的随机数范围,可以在舞台区中手动调试一下,范围的大小控制着游戏难度,为了让“水管”从右向左移动,我们需要设置一个重复执行的指令,即“x坐标增加-2”的操作,当移动到大概“x坐标<-252”的时候,表明它已经过“小鸟”角色,这时应当将其隐藏起来,以避免不必要的资源占用,具体代码如下:
上方的“水管”角色代码逻辑相同,就是y坐标的取值范围不同,这里不再赘述
游戏的主要代码已经搭建完成,最后我们手动绘制一个倒计时的角色,在造型模块下使用文本功能,输入“游戏在3秒后开始”,然后复制2个,把数字分别改成2和1
它的代码逻辑是,当点击旗帜后,默认显示“造型1“,重复执行直到”造型编号=3“,每隔1秒切换下一个造型,最后等待1秒后,把它隐藏。
总结
游戏的整体设计并不复杂,核心逻辑就在于思考如何持续的生成x轴间距相同,y坐标随机的水管,这里使用的方法是固定上下两个隐藏的水管,每隔3秒克隆自己以后,y坐标取随机数,如果有更好的方法欢迎提供。
转载自:https://juejin.cn/post/7423196076508397607