程序员我爱学编程

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

2019-03-09  本文已影响12人  Python编程导师

对于80、90后来说,拳皇97一定不会陌生,这款经典的横版格斗游戏,是一代人的回忆,许多人接触它都是在街机上,而今天,小编要教大家制作PC版的拳皇97!看黑板,表演即将开始——
这是小编准备的C++学习资料,加小编学习群:825414254,加群即可获取哦!

image

游戏运行效果呈现

image

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

一、利用GDI绘制图形

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

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

image

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

image

二、关于动画的实现

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

image image

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

image

♦运行效果

image

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

image

♦添加了技能运行效果图:

image

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

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

●学习过程中你能学会:

1.使用API函数创建好Win32窗口。

2.将准备好的游戏素材加载到程序中。

3.使用GDI图形设备接口函数绘制地图与角色。

4.利用C/C++语法结合数据结构与算法算法处理游戏数据。

5.编写游戏逻辑。

●学习成效:

1.跳出控制台,在界面编程中去锻炼自己的逻辑思维能力。

2.了解windows程序设计的基本框架。

3.可尝试去开发各种界面化的程序,例如雷霆战机,俄罗斯方块,坦克大战等等。

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

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

上一篇下一篇

猜你喜欢

热点阅读