发布时间:2023-11-27 10:40:34 浏览量:158次
不关注我们?那你会错过很多哦!
本期《一碳科技》为大家带来一篇关于“C++小游戏”的教程,此次教程是承接上一篇文章的,上一篇文章讲的是“坦克大战”小游戏,但是只是给大家讲了绘制坦克图形的那一部分,所以今天这篇文章将带大家继续深入学习如何制作一个小游戏。
此次教学把上一次绘制坦克图形的方法重新设计了一遍,具体实现方法可以先关注《一碳科技》,私信“绘制坦克图形源码”即可获取源码。
在制作C++小游戏的过程中,相信大家最多的疑问是关于“如何使坦克转向”的吧?其实,实现这个功能并不难,只要基础打得牢的小伙伴都可以实现。这里面主要设计两个函数,一个是kbhit(),一个是getche()。
kbhit()函数的功能是检测当前键盘是否按下,如果键盘被按下了,它就会返回一个非零值,反之,则返回一个0值。getche()函数用于获取立即获取当前输入控制台的字符,这两个函数是怎么配合的呢?kbhit()是一个非都塞函数,这是什么意思呢?就是说这个函数不论你的键盘有没有按下,他都不会处于等待状态,例如scanf()函数,如果你没有向控制台输入的话,它就会一直处于等待状态,知道你的“回车”按下,才会继续执行下一段代码。
当if语句检测到kbhit()函数返回一个非零值之后,就会调用getche()函数获取当前输入控制台的字符,进而使用swicth()语句来判断方向。
要绘制我们的坦克,就需要用到EasyX图形库,具体安装方法可以上网查一查,有很多教程。
首先,我们先用画图工具画一个坦克出来,具体怎么画依个人爱好决定,下面是小编画的一个坦克图形(有点丑啊)。
玩家坦克就是我们操控的坦克,而我们还需要画几个“敌方坦克”,所以接下来我们在画一个坦克,这个坦克要与玩家坦克区别开来,除此之外,我们还需要画一个“炮弹”,小编画了一个正方形充当“炮弹”。
加载坦克图形并显示,需要用到了两个EasyX图形库的函数,分别为loadimage()和putimage()函数,loadimage()将我们的图片加载到一个IMGE结构体里面,而putimage()函数负责将IMAGE里面的图片显示到绘制区域中。
loadimage(),可以接收5各参数,在这里小编只使用4个参数就可以了,最后一个参数可以默认,第一个参数是IMAGE,第二个是资源的地址,第三个是图片的宽,第四个是图片的高。
putimage(),接收三个参数,第一个是图片显示的X坐标,第二个是图片显示的Y坐标,第三方个参数是IMAGE。
以下是坦克绘制的游戏界面(仅仅是坦克)
我们要如何使坦克移动起来呢,小编这里使用了while()循环,每一次循环就是我们游戏画面的一帧,不断地再循环里面判断坦克移动方向,然后通过对坦克图形绘制的X、Y坐标的改变,来使的坦克图形呈现出不断移动的效果。
先关注《一碳科技》,然后私信关键字“绘制坦克图形源码”即可。
热门资讯
探讨游戏引擎的文章,介绍了10款游戏引擎及其代表作品,涵盖了RAGE Engine、Naughty Dog Game Engine、The Dead Engine、Cry Engine、Avalanche Engine、Anvil Engine、IW Engine、Frostbite Engine、Creation引擎、Unreal Engine等引擎。借此分析引出了游戏设计领域和数字艺术教育的重要性,欢迎点击咨询报名。
游戏中玩家将面临武侠人生的挣扎抉择,战或降?杀或放?每个抉定都将触发更多爱恨纠葛的精彩奇遇。《天命奇御》具有多线剧情多结局,不限主线发展,高自由...
3. B站视频剪辑软件「必剪」:免费、炫酷特效,小白必备工具
B站视频剪辑软件「必剪」,完全免费、一键制作炫酷特效,适合新手小白。快来试试!
4. 手机游戏如何开发(如何制作传奇手游,都需要准备些什么?)
如何制作传奇手游,都需要准备些什么?提到传奇手游相信大家都不陌生,他是许多80、90后的回忆;从起初的端游到现在的手游,说明时代在进步游戏在更新,更趋于方便化移动化。而如果我们想要制作一款传奇手游的
5. 3D动画软件你知道几个?3ds Max、Blender、Maya、Houdini大比拼
当提到3D动画软件或动画工具时,指的是数字内容创建工具。它是用于造型、建模以及绘制3D美术动画的软件程序。但是,在3D动画软件中还包含了其他类型的...
三昧动漫对于著名ARPG游戏《巫师》系列,最近CD Projekt 的高层回应并不会推出《巫师4》。因为《巫师》系列在策划的时候一直定位在“三部曲”的故事框架,所以在游戏的出品上不可能出现《巫师4》
一、声音优化在绝地求生游戏中能够提前听到脚步声往往能提前取得战机,主要有两种方法:1、利用SoundLock软件,软件的功能主要是限制最大音量。百度搜索...
众所周知,虚幻引擎5(下面简称UE5)特别占用存储空间,仅一个版本安装好的文件就有60G,这还不包括我们在使用时保存的工程文件和随之产生的缓存文件。而...
UI设计师、动画设计师、特效设计师每一个职位的功能和负责的方面都不同。所以,3D美术这方面需要大量的人才。但是要成为一个3D游戏建模师,也不是那么...
想让你的3D打印模型更坚固?不妨尝试一下Cura参数设置和设计技巧,让你轻松掌握!
最新文章