天天酷跑C语言实现

2024.1.25

今天学习的是简单的天天酷跑游戏运行时背景的设计与实现

首先,创建游戏的窗口大小,设定宽度和高度

a.需要让电脑读取内存中的图片,以便后边运行时可以拿到内存中的图片

我的文件放在了res文件夹下,命名格式为bg00x.png可以尝试不同的命名。将这一步操作放在初始化函数下,loadimage()本身是一个函数,可以在项目“属性->C/C++->SDL检查选择“否”,即可解决报错顺利运行。

其次,背景图片设置

a.图片放置,三层图片的安置涉及到图像坐标,刚开始时3张图像左上角的X坐标都为0,只是Y坐标有所不同

b.putimage函数时easyX的函数,在项目开始出引用头文件<graphics.h>即可使用,在此由于使用putimage函数运行时会导致图像之间存在黑框,不协调特此采用开源解决办法putimagePNG2为b站up主C语言编程开发视频,由Rock老师所作。

c.此处就三张图片,Y值就直接进行设置,在图片较多,要设置Y值的时候也可以采用数组进行存储

最后,进行背景的渲染实现

a.在使用3张图片做游戏背景时,需要考虑到在游戏中每张图片的运动速度是不一样的。从逻辑上说,距离人物越近的图片的移动速度应该更快,速度随着图片距离人物的距离递减。在此将人物的速度用一个一维数组进行处理,数组大小设置为3,bgSpeed,bgX为图片的X坐标数组,IMAGE是easyX的函数

b.图片静态下没有问题之后,进行动态设计,让图片进行移动

图片运动时是三张图片一起进行运动,用图片的X坐标减去图片的运行速度,此时继续更新bgX[i]的横坐标,当bgX[i]的坐标小于负的游戏框的宽度是,将bgX的坐标重置为0实现首尾相接的效果,如若没有首尾相接在跑完图像时会没有图像进行加载。背景出错

Finally

进行第一阶段的调试,查看代码错误,

a. 出现sprintf不安全错误,可以在.cpp属性下“高级”将符号设置为多文本的那个即可解决报错,正常运行。

b.要让游戏背景一直运行下去,设置死循环,使用while(1)最为方便或许还可以使用其他的循环函数换个死循环的方式进行运转

c.在将代码设置合适之后,运行代码时会出现背景图虽然在运行了,但是会在屏幕上出现闪屏,这是就得用双缓存语句 Begin Batch Draw(),End BatchDraw(),把两句语句放在图像设置函数前和图像运动函数前,再次运行时屏幕上就不会出现闪屏现象。

其中,Begin Batch Draw(),End Batch Draw()也是属于easyX下的函数,需要引用easyX的头文件才可调用,这两个函数也可以在图像进行融合时消除黑色的背景。

结果所示

第一次在黑色程序运行框中搞出彩色!!!

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
c语言天天酷跑是一个小游戏,其中包含了一些编程和开发环境的要求。首先,在游戏代码中,需要打开属性界面,并进行一些配置。具体操作是右键单击游戏代码中的“天天酷跑”,选择属性,然后在属性界面中打开“高级”,找到“字符集”,选择“使用多字节字符集”。接下来,在属性界面中打开“c/c++”,进入“常规”选项,选择“SDL检查”,将该选项设置为“否”。通过这些配置,就可以运行游戏了。 此外,在编写游戏代码中,需要包含一个名为tools.h的头文件,这是游戏程序员自己编写的一个头文件,其中包含了一些详细内容。建议使用VS进行编写,在项目中直接添加该头文件即可。 c语言天天酷跑小游戏的开发环境可以是VC2010-VS2022,并且需要掌握C语言和一些C的函数。整个开发过程大约需要7小时。如果需要获取游戏的素材、源码以及第三方库等资源,可以加入学习群817459939获取。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [C语言仿天天酷跑小游戏](https://blog.csdn.net/m0_73554747/article/details/128516368)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [【C语言】游戏开发天天酷跑丨完美练手项目 [附源码]](https://blog.csdn.net/xiangxin1030/article/details/124174971)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值