不关注我们?那你会错过很多哦!
本期《一碳科技》为大家带来一篇关于“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坐标的改变,来使的坦克图形呈现出不断移动的效果。
以上是示意代码
先关注《一碳科技》,然后私信关键字“绘制坦克图形源码”即可。
免责声明:本站所有内容及图片均采集来源于网络,并无商业使用,如若侵权请联系删除。