【问题标题】:C# 2D Vector Graphics Game using DirectX or OpenGL?使用 DirectX 或 OpenGL 的 C# 2D 矢量图形游戏?
【发布时间】:2010-05-15 06:12:53
【问题描述】:

所以我已经有一段时间没有使用 C# 进行任何游戏编程了,但是我最近遇到了一个错误,我想知道应该使用什么配置。

我想使用 C#,因为这是我在工作中使用的,并且已经变得很熟悉。过去我使用过 DirectX 和 OpenGL,但主要是 3D,但现在我有兴趣编写一个包含所有矢量图形的 2D 游戏,类似于几何战争或旧星球大战街机游戏的外观。

我感兴趣的关键点:
• 易于使用/实施。
• 易于记忆。 (我打算一次做很多事情)
• 看起来不错,我不希望曲线看起来像素化。
• 也许一些不错的效果,如发光或粒子。

我愿意接受任何和所有建议,甚至可能是我没有想到的...

提前致谢!

【问题讨论】:

    标签: c# opengl vector directx


    【解决方案1】:

    如果您刚刚重新开始并且已经有 C# 背景,为什么不试试 XNA?你一定可以在这里发挥你的 C# 技能

    http://creators.xna.com http://creators.xna.com/en-US/downloads

    【讨论】:

    • +1。 XNA 拥有广泛的支持,并且有大量书籍可以提供更多支持。
    • 此外,如果您使用 XNA,您将立即有一个地方可以让人们以最小的额外努力尝试它:XBox Live Indie。与其他发布方法不同,它需要遵循非常少量的功能指南,作为交换,您可以吸引大量潜在的人来尝试它(如果您想让人们尝试它!)您还可以获得更多不仅仅是带有 XNA 的图形 API。您可以获得声音、输入、文件访问……制作游戏时需要考虑的一切。
    【解决方案2】:

    我使用 SlimDX 进行 C# 图形编程,我更喜欢它而不是 XNA。

    http://slimdx.org/

    【讨论】:

    • +1 特别是。随着 XNA 不再积极开发 SlimDX 似乎是一个非常好的开源替代品
    【解决方案3】:

    TBH 你使用什么并不重要。 OpenGL、SlimDX 或 XNA。它们都将与彼此一样复杂(或不一样)。

    【讨论】:

      【解决方案4】:

      您可以考虑使用 Axiom 引擎,它是 Ogre3D 的 C# 端口。它足够高,您可以让它通过 XNA 或 OpenGL 渲染您的图形,而对您的代码几乎没有更改。它还可以处理键盘和鼠标输入(通常是分开的——例如,通过 Windows 上的 DirectInput 或 Linux 上的 SDL)。

      【讨论】:

      • Axiom 不再处于开发阶段。
      【解决方案5】:

      您也可以考虑使用TAO Framework,它基于 OpenGL 并且相当不错。但是您必须自己编写 2D 引擎。它也适用于Mono

      【讨论】:

      • 这已被 OpenTK 取代,afaik。
      【解决方案6】:

      我使用 C# 包装器创建我的 OpenGL 引擎,因为我也非常喜欢 C#。可悲的是,管理语言在图形方面非常慢,这就是为什么我总是在 C++ 中制作我的 OpenGL 部分,将其编译为 DLL 并使用互操作从 C# 获取它。如果你不喜欢 DirectX,我建议你远离 XNA。我认识的每个人都对此非常失望并切换回 C++(OpenGL) + C#。

      【讨论】:

        【解决方案7】:

        既然您已经了解 C#,我会使用 XNA 或 Unity。虽然有更快的语言和中间件,但它们可能已经足够快了。这两个框架都将具有您需要的必要功能。

        【讨论】:

          猜你喜欢
          • 2016-10-16
          • 1970-01-01
          • 1970-01-01
          • 2020-07-16
          • 1970-01-01
          • 2023-03-21
          • 1970-01-01
          • 1970-01-01
          • 2011-04-12
          相关资源
          最近更新 更多