我正在考虑在C#/ .NET中编写2D RTS,我想知道除了XNA之外哪些选项可用于图形库。它们是什么?
答案 0 :(得分:6)
到目前为止发布的答案(除了SDL.NET)都刚刚说过使用OpenGL,DirectX或者2的一些变体。就个人而言,当你已经拥有XNA时,我不会将这两者用于2D游戏。 XNA已经有一些用于制作2D图形的类(主要是SpriteBatch)。
如果您使用XNA,您不仅可以制作在Windows上运行的游戏,还可以制作适用于XBox,Zune和Silverlight的游戏(Zune和Silverlight要求您不要使用XNA的3D部分,但那不应该担心你)。基本上,XNA将为您节省编写DirectX或OpenGL所需的所有低级管理代码的麻烦(例如处理窗口切换和许多其他问题)。
我根本没有使用过SDL,所以我不能就此给你任何个人意见,但我听说它对2D图形非常好,所以我建议你研究一下SDL.NET或者去看看SDL.NET使用XNA,这里的其他建议需要更多的工作而没有什么优势(大多数人只是想制作游戏而不用担心HAL接口并让所有东西与操作系统一起玩得很好)。
答案 1 :(得分:2)
直接进入DirectX是一个非常有效的选择,虽然只有2D,你可能需要对3D图形有点过分以便有效地使用它。
当我进入游戏开发时,我非常喜欢人工心脏图形引擎,它有点基本,但非常容易使用。很遗憾,website似乎已被停放的域名替换。也许这家公司倒闭了。如果是这样,那真是太遗憾了。
有关更详细的目录,请查看DevMaster game engine database
答案 2 :(得分:2)
如果您正在寻找开源社区支持的库,您可以尝试
但我不确定他们是否已经足够成熟......但是值得giva尝试..
答案 3 :(得分:1)
我确信还有其他选项,但您也可以查看SDL.Net,SDL的.Net实现。
答案 4 :(得分:1)
为了充分利用当今计算机的硬件并跟上其他2D游戏的图形,我会选择基于DirectX或OpenGL的2D-in-3D解决方案。您可以将精灵渲染为所谓的四边形(两个多边形组合成一个正方形。)
我个人认为OpenGL更适合2D游戏。你绝对应该阅读NeHe tutorials(它们是用于C ++,但OpenGL部分仍然有效。你可以在每节课的页面底部找到代码的C#转换。)因为它们是开始为您的游戏制作简单的图形引擎的绝佳资源。
此外,很多articles on GameDev在开发游戏时帮助了我很多。他们有各种各样的文章可以帮助你,从添加灯光效果到你的游戏到添加简单的物理。
答案 5 :(得分:1)
我使用Gorgon(使用SlimDX)。
答案 6 :(得分:0)
总有Unity。使用Mono而不是MS.Net http://unity3d.com/unity/