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

5
我正在使用C#制作一个回合制的俯视角游戏。图形要求非常简单:完全是2D,需要从图形文件中绘制一些图像(可能需要先旋转它们),绘制线条以形成六边形网格,并能够在屏幕上任意位置放置文本。
我想知道用于完成这些图形的最佳API是什么。 XNA是否过于复杂,有没有更合适的东西?谢谢(我在.NET中没有任何图形或游戏开发经验,所以请不要害怕降低任何答案的难度)。
8个回答

3
我建议使用XNA进行此操作。如果你不想使用XNA的一些开销,我发现SlimDX是一个非常好的小框架。他们还提供了一些基本的游戏类来使这种类型的事情变得容易。
在WPF中直接进行绘图也相当容易,但稍后扩展会更加困难。XNA和SlimDX让你可以访问着色器、非常精细的alpha混合控制,并且在需要时很容易将部分扩展为3D。

2
我之前使用过Farseer Physics引擎,它非常酷且易于上手(我是企业开发者,而不是游戏开发者)。它适用于Silverlight,因此您实际上可以将游戏制作为基于Web的。我建议在2D方面使用Silverlight或WPF。
链接:http://www.codeplex.com/FarseerPhysics

我用它来玩游戏。这可能有些过头了,但应该可以使用。 - BenMaddox
Farseer不是一个渲染框架而是一个物理引擎,这怎么能帮助他在视觉组件方面呢? - Kasper Holdum

2
我会推荐WPF。加载图形并将其移动应该相当容易。由于WPF也是基于矢量的,因此您的线条绘制很直观。
接下来可以考虑使用XNA。它对精灵图形有很好的支持,并且还可以访问着色器。

1

如果它听起来很简单,甚至不需要实时处理,也许你根本不需要这些东西。即使没有游戏引擎,绘制六边形网格和一些图像也不应该很难。也许WPF适合这个任务。


1

根据您的要求,您可以使用纯C#和GDI(用于2D光栅化)。然而,学习XNA也很容易,并且一旦您决定制作实时游戏(2D或3D),它将为您提供帮助。无论哪种方式,都要玩得开心,如果您刚开始时发现XNA太复杂了,只需回到GDI即可。制作游戏应该像玩游戏一样有趣 :)


0

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


0

你可以通过在 System.Drawing 命名空间中使用类来实现这一点。而对于这种类型的东西,XNA 显然是过度的。此外,为您的小游戏引入许多依赖项可能会给您的玩家带来不必要的麻烦。


0

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接