c# - 想学习编写 2d 游戏

标签 c# c++ directx xna 2d

嘿 stackoverflow 社区! 我学习了 C# 的基础知识(我可以编写一些表单应用程序),现在我想学习如何编写 2d 游戏。我不知道从哪里开始。 有适合 2d 游戏的引擎吗?在学习了 2d 的基础知识之后,我想编写在 windows 和 linux 下运行的简单游戏(那会很酷,linux :))。

我问了一个从事编程的 friend ,他说我应该将 XNA 与 C# 一起使用(但这只适用于 Windows)。谷歌搜索后我发现使用 C++ 的 OpenGL 最好为 linux 编写游戏,因为没有 DirectX/XNA。而且我还没有使用过 C++,这又需要一些时间来学习。

有什么可以推荐的吗?也许是其他引擎?我刚刚安装了 XNA 并查看了演示游戏 (Platformer),该代码一点也不难。 XNA 适合 2d 游戏吗?

最佳答案

一步一个脚印。刚开始时,您不需要您的代码在每个平台上都能工作。使用 OpenGL 或 DirectX 并不重要,因为您将忙于创建一个游戏以在具有 一个 图形 API 的一个平台上运行。

其次,不要太担心“引擎”。您不需要引擎来制作游戏,而且通常情况下,它会比它的值(value)更麻烦。对“引擎”的整个痴迷从根本上说是一个坏主意。如果您试图获得一个单一的软件组件来支持游戏所需的所有功能,那么任何都不值得使用它..

您只需要:

  • 您熟悉的编程语言。这听起来像是 C#,所以坚持下去。
  • 一些将图形显示在屏幕上的方法。 .NET 库可以在某种程度上做到这一点,但一些更高级别的库可能会使它更容易。您可以使用 XNA 或 SlimDX 或其他 Direct3D 包装器。或者你可以给 SDL.NET一个镜头。或者你可以自己写。您将需要的功能非常基本,每个图形库,无论是 2d 还是 3d,都可以让您做到这一点。

您尤其不需要任何“适合 2D 游戏”的东西。 XNA 能够将图形显示在屏幕上,因此它可以满足您的需要。如果您还了解使用它所需的代码,那么 XNA 就足够了。不要费心去寻找“最好的”,或者以“对 2D 游戏来说很棒”为卖点的东西。

关于c# - 想学习编写 2d 游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1481579/

相关文章:

c# - WCF 客户端如何使用多部分/相关的 Java Web 服务响应?

c# - T4 模板不会随着构建而转换

c++ - 如果 ieeefloat64 变量未在 C++ 中初始化,会发生什么情况?

c++ - 是否可以在类似 STL 的容器中使用 WinRT 对象?

c++ - 在继承类中扩展结构

c# - 为什么 Response.Redirect 会导致 System.Threading.ThreadAbortException?

c# - OracleDependency 未触发事件

c++ - 使用 SAPI 或同等能力的 SR 将音频文件转为文本

c++ - 类范围内的限定名称查找

c++ - 为什么我的 DirectX 程序无法识别我已经释放了退出键? (C++)