C++游戏开发入门项目精选:制作经典游戏拳皇97

论坛 期权论坛 期权     
码农有道   2019-6-9 21:25   2042   0
对于80、90后来说,拳皇97一定不会陌生,这款经典的横版格斗游戏,是一代人的回忆,许多人接触它都是在街机上,而今天,小编要教大家制作PC版的拳皇97!看黑板,表演即将开始——


游戏运行效果呈现

好吧游戏界面和人物模型有点丑,不过这不是重点,重点是学习游戏开发的思路。


一、利用GDI绘制图形
GDI是windows与生俱来的图形设备接口(GraphicsDeviceInterface)的英文缩写,主要任务是负责系统与绘图程序之间的信息交换,处理所有Windows程序的图形和图像输出。


准备一张BMP格式的背景图片,创建一个窗体,在窗体上进行绘制,然后通过GetDC函数来获取窗体的设备环境DC

获取设备环境后,还需要在内存中创建一个设备环境,我们在内存中画图,画好以后,直接拷贝到窗体的设备环境上




二、关于动画的实现
拳皇吸引玩家的一定是那酣畅淋漓的打斗动作,我们知道用游戏引擎的骨骼动画是最常见的,不过跟3D的渲染不同,2D游戏是贴图的艺术。






例如上面的两个动画,通过一个数组把它们保存起来,然后依次播放。





运行效果



贴图基本有两种方式,一种采用定时器,一种则是利用消息循环,目前都是采用的第二种绘制方式(消息循环),也就是说游戏中的动画都是一帧一帧的帖上去的,就像放电影一样。





添加了技能运行效果图:




其实像拳皇97、地下城与勇士这类2D游戏是比较适合新手小白开发的,相比于3D游戏的骨骼动画,2D横版游戏的序列帧更简便。


在开发过程中,我们会用到C/C++语言、Win32窗口创建、消息机制、GDI三缓冲绘图原理等知识点。



●学习过程中你能学会:
1.使用API函数创建好Win32窗口。
2.将准备好的游戏素材加载到程序中。
3.使用GDI图形设备接口函数绘制地图与角色。
4.利用C/C++语法结合数据结构与算法算法处理游戏数据。
5.编写游戏逻辑。


●学习成效:
1.跳出控制台,在界面编程中去锻炼自己的逻辑思维能力。
2.了解windows程序设计的基本框架。
3.可尝试去开发各种界面化的程序,例如雷霆战机,俄罗斯方块,坦克大战等等。


一句RNG牛逼,不知刷爆了多少人的朋友圈,而LOL等六项电竞正式入选亚运会,更是刷新了我们对游戏的认知,在眼下全民娱乐的时代,游戏早已成为我们生活的一部分,游戏开发也是当下和未来绝对热门的行业。


怎么样?是不是也想尝试着自己做一款小游戏了呢?




那么最后送大家一个福利




免费C/C++技术交流群
进群领取拳皇97及更多项目学习资料

长按二维码识别
或添加Q群:335938634
不定期有Socket编程和Hook(钩子)编程等网络黑客技术、腾讯内部核心技术比如QQ截图系统、编写雷霆战机等经典游戏的免费知识分享课。
点击阅读原文,也可以参与哦
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:60
帖子:12
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP