使用MFC visual studio在C++上进行视频游戏

Video Game on C++ with MFC visual studio

本文关键字:视频 游戏 C++ MFC visual studio 使用      更新时间:2023-10-16

我不知道是不是搞错了,所以我在这里问路。

举个例子,在大学里,当你学习C++并使用Turbo C++或GCC进行编译时,你就知道什么是低级编程语言了

现在假设我想做一个基本的2D视频游戏,只是作为一个个人项目,没有什么花哨的,我想用C++开发它,只是因为。我会使用Visual Studio来编写它,因为它是一个非常好的IDE。

对于这种项目,说"我将使用MFC"是正确的吗?(考虑一下我将使用OpenGL的事实)。

MFC是一个C++框架,它封装了Windows API的核心元素。它主要用于创建标准的窗口应用程序,用户可以在桌面上与之交互。

它附带了一个内置的图形框架:GDI。这是Windows推出的,在当时是革命性的,因为它抽象了硬件特定的细节,并允许程序员编写在Windows运行的任何机器上运行的通用代码。但它从来都不是特别适合游戏;它是为Windows风格的商业应用程序设计的。它对文本来说非常棒(而且仍然可以说是最好的选择——你最近看过Direct2D如何渲染文本吗。

因此,如果希望同时使用MFC和OpenGL,可以,但我并不真正理解这一点。从MFC中获得的唯一真正好处是减少了100多行代码,这些代码设置了任何Windows应用程序的基本框架。例如,考虑到这个示例OpenGL程序,使用MFC本质上允许WinMainMainWndProc函数深入MFC框架代码的内部,而不是直接出现在代码中。但是,就像我说的,大不了。大部分代码将是OpenGL特定的,MFC对此没有帮助。

如果您使用MFC和GDI(即在屏幕上显示窗口和对话框的部分)为游戏编写启动板/主机,然后在OpenGL中编写游戏部分本身(单击对话框界面上的"开始"按钮后启动),这两种交互方式可能唯一有意义。

当然,即使你想这样做,MFC也不是你唯一的选择。有大量的C++框架用于编写Windows应用程序。每个人都有自己的最爱。尽管有些人可能会告诉你,如果你已经知道MFC和/或对Windows API很满意,那么MFC就没有任何错误。但不要浪费时间学习。请使用WTL。

您不会简单地使用MFC,因为它是用于一般应用程序开发的,为您提供了您可能永远不会使用的功能和类

一个好的开始是看看SFMLhttp://www.sfml-dev.org/或(我个人最喜欢的)SDLhttp://www.libsdl.org/.编写这些库是为了开发游戏,或者至少使用它们开发多媒体应用程序

不过,在MFC中编写游戏编辑器可能是个好主意!