运用C语言exayx图形库开发经典游戏《Flappy Bird》

本文介绍了如何使用C语言配合Exayx图形库开发经典游戏《Flappy Bird》。文章涵盖了游戏的图像原理、素材准备、结构体定义、初始化、绘制函数、数据更新以及游戏结束判定的流程。代码中包含详细的注释,旨在帮助读者理解游戏开发过程。
摘要由CSDN通过智能技术生成

        所谓游戏图像,就是不断绘制更新绘制更新的一个连续过程,所以我们的主函数为一个循环体。然后游戏代码分为 定义、初始化、更新数据、游戏结束判定几个过程。

        该游戏运用exayx图形库运行,请读者自行在官网进行环境配置(此游戏仅作为读者参考,作者并非专业开发者,若有不当请给与批评指正)。

        我们应该先找到游戏中使用的游戏素材,将找好的音乐、小鸟图片、背景等素材导入代码的文件夹中,以备调用,如图所示(图片对应的黑底白色图片是对应图片的掩码图,掩码图的使用目的是为了实现图像的透明,具体参见其他文章对掩码图的解释,百度就有,作者使用ps自行制作):

 

 然后我们使用结构体定义游戏各个组件的数据,定义窗口大小,声明调用函数。

        我们知道小鸟x坐标是不变的,其实只是图片中的地面(round.png)在不断向右边移动,所以小鸟的参数为坐标x,y、而且我们用一个g参数模拟重力,使得小鸟在不受控制的情况下不断下落,用结构体定义小鸟,而且你会发现,定义中还有一个IMAGE img2[3][2]数组,这个数组的作用是每个小鸟彩图对应一个其掩码图,如果不加上掩码图你会发现图像在运行的过程中给有黑框,会比较影响观感。

        其他物体的参数也是如此,具体读者请参考代码,里面我标注的非常详细。

        定义之后我们要先初始化,初始化的作用是把各个游戏部件的坐标、速度、游戏音乐播放的初始定义在一起,不管定义什么我们都要注意,一定要先行进行初始化!

        初始化之后我们就可以开始写绘制函数,绘制函数的作用就是控制动画,让地图和小鸟动起来的前提是先要绘制图像,绘制函数的用法请参考代码。注意:绘制的图像图层与代码的先后有一定关系,读者可以自行根据需要进行调节。

        之后我们就需要完成数据更新这一部分,我们知道,数据更新分为两部分,自动更新(动画自行演示,路面自己走动,小鸟煽动翅膀等等),另一部分为手动更新(鼠标操作之后小鸟往上飞),运用函数实现鼠标与计算机的交互,具体请参考代码。

        最后我们需要进行游戏结束的判断,运用if语句,当小鸟的坐标与管道、地面、边界重叠时,让小鸟的垂直速度瞬间变大,这样就模拟了小鸟死亡掉落画面,同时停止播放音乐,播放死亡音乐。

        文章只给读者提供一个大概思想,具体代码如下,请读者自行进行理解,注释标注得比较多,方便读者阅读。请多多支持作者,谢谢大家,有问题请给我留言,我会第一时间答复!

#include<stdio.h>
#include<graphics.h>
#include<easyx.h>
#include<time.h>
#include<mmsystem.h>
#include<windows.h&g
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值