飞翔的小鸟

Posted eduit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了飞翔的小鸟相关的知识,希望对你有一定的参考价值。

一、项目设计(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伴侣进行连接测试。

以上是关于飞翔的小鸟的主要内容,如果未能解决你的问题,请参考以下文章

C/C++游戏开发教程:C语言实现—飞翔的小鸟

java小游戏 : 飞翔的小鸟 (完整版)

java400行能干啥?不如写个飞翔小鸟游戏吧

java400行能干啥?不如写个飞翔小鸟游戏吧

java400行能干啥?不如写个飞翔小鸟游戏吧

python带你成功复刻热门手机游戏——飞翔的小鸟