一、项目设计(1.0版)
制作一个飞翔的小鸟游戏,玩家控制一只胖乎乎的小鸟,跨越由各种不同长度水管所组成的障碍,每跨过一个障碍得分,如果 碰到水管或掉落地面,则游戏失败。
二、设计与制作(1.0版) 下载飞翔的小鸟素材
1、实现功能:
(1)第一个屏幕screen1作为启动屏幕,实现点击屏幕开始进入游戏。
游戏主要在第二屏幕FlappyBird实现。
(2)小鸟扇动翅膀,以一定的加速度做自由落体运动。用户点击屏幕后,小鸟将获得一个向上的恒定速度。小鸟在上升下坠过程中,需要模拟抬头和低头动作。
(3)屏幕上随机出现上下水管组合,并以恒定速度向左移动,模拟小鸟向前飞行效果;
上下水管的Y坐标和间距随机每次随机变化。小鸟跨过水管则得1分(即是水管移动到左边得1分)。
(4)如果小鸟触碰到水管或掉落触碰到地面,则游戏结束,显示得分。
2、组件界面设计
(1)screen1屏幕
本屏幕为启动画面,点击击之后打开FlappyBird屏幕。
(2)增加FlappyBird屏幕
添加组件:画布1、图像精灵6个、计时器1、对话框1
部分组件属性(参考设置):
其中屏幕FlappyBird标题用“飞翔的小鸟v1.0”+“姓名” ;4个水管分别设置图片、取消可见性。
3、逻辑设计(编程)
(1)创建变量:
变量【图片序号】为小鸟几张图片的变化次序; 变量【小鸟Y1】为小鸟Y坐标的变化量;
变量【小鸟角度】为小鸟上升抬头角度值;变量【水管1X】【水管2X】分别为2组水管的X坐标值;
变量【水管1激活】真【水管2激活】假 分别为2组水管 是否要出现在画面移动的判断值。
(2)创建“开始游戏”过程,进行游戏参数初始化,小鸟的X,Y坐标、方向,地面的Y坐标。
(3)创建“小鸟扇动翅膀”过程,主要实现小鸟精灵的动画效果(扇动翅膀),结合计时器实现循环执行。(可选)
(4)使用计时器调用“小鸟扇动翅膀”过程,实现动画效果。调用“小鸟移动”过程在第(5)步完成后添加。
(5)创建“小鸟移动”过程,结合计时器,每隔一段时间,小鸟改变Y坐标实现移动,并调整方向(低头)。
(6)画布被触碰 代码。点击画布,使小鸟抬头上升,并发出翅膀扇动声音。
↑ 以上功能,通过计时器调用“小鸟移动”过程实现,小鸟以一定的加速度做自由落体运动,每点击一次画布则小鸟做抬头上升,不点击则开始缓慢低头下坠。
----先连接AI伴侣进行测试,能否实现这部分功能。
↓ 接下来要实现2组水管交替移动,模拟前进的动态效果。
(7)创建“水管1移动”过程,“水管2移动”过程。这两部分类似,可先做好一个,再复制修改。
修改“开始游戏”的过程,添加设置【水管1X、水管2X】的初始值为画布宽度。(水管x坐标为画布的最右边)
(8)修改计时器的执行代码,实现每隔100毫秒,调用“水管1移动”过程、“水管2移动”过程,实现2组水管向左交替移动, 模拟小鸟向右运动的视觉效果。
===先连接AI伴侣进行测试,能否实现2组水管交替移动,模拟前进的动态效果。
(9)创建“随机水管Y坐标”过程。带2个参数“上水管”、“下水管”。
这部分程序设计思路的图例说明(下图):
(10)修改“水管1移动”过程,“水管2移动”过程。
带参数调用第(9)步的随机水管Y坐标”过程,分别添加到“水管1移动”过程,“水管2移动”过程。
提示:如果一开始水管1组没有随机生成上下间距,尝试修改“开始游戏”过程,调用“随机水管Y坐标”过程
思考1:此处可能出现bug,水管激活出现时会有位置高度闪动变化的情况,有何解决办法?如何实现?
(11)当小鸟被碰撞 时的代码。即是小鸟碰到水管或地面(精灵),则游戏结束,停止计时器,播放失败声音并显示得分。
(12)对话框 选择判断。根据游戏结束 提示对话框的选择,执行相应代码。
-------到此, 飞翔小鸟1.0简化版 基本完成,请用AI伴侣进行连接测试。
原文地址:https://www.cnblogs.com/eduit/p/12111220.html