C#/.net中简单游戏图形的最佳解决方案

C#/.net中简单游戏图形的最佳解决方案,c#,graphics,C#,Graphics,我正在用C#制作一个自上而下的回合制游戏。图形要求非常简单:它完全是二维的,需要绘制一些从图形文件中获取的图像(可能先旋转它们),绘制线条以形成十六进制网格,并且能够在屏幕上的任何位置放置文本 我想知道做这些图形最好的API是什么。XNA在这方面做得过火了吗?还有更合适的吗?谢谢(我在.net中没有图形或游戏开发的经验,所以不要害怕把任何答案都说得哑口无言)。我以前使用过Farseer物理引擎,它非常酷,而且非常容易掌握(我是一名企业开发人员,不是游戏开发人员)。它适用于Silverlight,

我正在用C#制作一个自上而下的回合制游戏。图形要求非常简单:它完全是二维的,需要绘制一些从图形文件中获取的图像(可能先旋转它们),绘制线条以形成十六进制网格,并且能够在屏幕上的任何位置放置文本


我想知道做这些图形最好的API是什么。XNA在这方面做得过火了吗?还有更合适的吗?谢谢(我在.net中没有图形或游戏开发的经验,所以不要害怕把任何答案都说得哑口无言)。

我以前使用过Farseer物理引擎,它非常酷,而且非常容易掌握(我是一名企业开发人员,不是游戏开发人员)。它适用于Silverlight,因此您可以实际使您的游戏基于web。我建议silverlight或WPF用于2D


如果它像听起来那么简单,甚至不是实时的,也许你不需要这些东西。即使没有游戏引擎,绘制十六进制网格和一些图像也不难。也许WPF会对这一点有好处。

XNA听起来是一个不错的选择(它比使用DirectX SDK要好!!而且很容易学习)

根据您的要求,您可以只使用普通C#和GDI(用于2d光栅)。然而,学习XNA是很容易的,一旦你决定制作一个实时游戏(2d或3d),它将很好地为你服务。无论哪种方式都很有趣,如果XNA在你开始的时候看起来很复杂,那就回到GDI。制作游戏应该和玩游戏一样有趣:)

我推荐WPF。加载图形并移动它们应该相当容易。由于WPF也是基于矢量的,所以您的线条绘制是直接的


XNA将是下一步。非常支持sprite图形,还可以访问着色器。

我建议使用XNA。如果您不想占用XNA的一些开销,我发现SlimDX是一个非常好的小框架。他们还提供了一些基本的游戏类来简化这类事情


直接在WPF中绘制图形也相当容易,但以后更难扩展。XNA和SlimDX使您能够访问着色器,对alpha混合进行非常精细的控制,以及在以后需要时轻松地将部分扩展到3D。

您只需使用
系统中的类即可完成此操作。Drawing
命名空间。对于这类东西,
XNA
无疑是过火了。此外,您还将为您的小游戏引入许多依赖项,这可能是您的玩家不想要的东西。

请查看-它基于C#,可用于2D。这可能有点过头了(包括价格),但对于游戏开发来说,这通常是巨大的帮助。

我把它用于游戏。这可能有些过分,但它应该可以工作。Farseer不是一个物理引擎,不是一个渲染框架吗?这对他在视觉组件方面有什么帮助?