c# - 这款游戏的理想选择,XNA 还是 SlimDX (DirectX 10)?

标签 c# xna directx-10

我想用 C# 开发多点触控节奏游戏。到目前为止,我已经确定了必须绝对存在的游戏的几个要求:

1) Unicode 文本显示,事先不知道字符(即显示的字符串在编译时不知道,但由用户输入)。
2) 支持所有常见图片格式(PNG、JPG、BMP、GIF)的显示和各种音频(MP3、WAV、OGG、FLAC)和视频格式的播放。
3) 完全的多点触控支持(我希望在用户硬件允许的情况下支持尽可能多的同时输入)。

我一直在摆弄 XNA,但我发现使用 SpriteFonts 绘制任意 Unicode 文本很困难(当您尝试加载整个 CJK Unified 集时它讨厌它)。此外,我还没有找到在 XNA 中加载某些格式(如 Ogg Vorbis 音频)的简单方法。

因此,考虑到这一点,我开始考虑通过 SlimDX 使用 DirectX 10。但是,我很迷茫,不确定如何开始使用它,也不确定它是否包含我需要的功能。最重要的是,SlimDX 文档似乎非常缺乏,尤其是我是游戏开发的新手。这两个框架中的哪一个最适合我的目标?

编辑 1:任何关于使用 SlimDX(2010 年 6 月)开始游戏开发的引用资料也将非常有帮助,尤其是与 Direct2D 相关的内容,我很可能会使用它。

最佳答案

基于您对 SlimDX 文档的关注以及您想要使用多点触控的事实(我无法确定它是否可以从 SlimDX 访问 - 请参阅文档评论)我建议使用 XNA。

XNA 没有对 OGG 的直接支持,但是有几个不错的转换器。如果您不希望事先转换它们的麻烦,您可以创建自己的内容管道处理器来为您进行转换。假设您不想实际尝试手动读取字节并处理它们,您可能希望在独立模式下或通过在自定义导入器中使用命令行来使用此工具: http://klucher.com/blog/game-development-program-of-the-week-xrecode/%20

对于字体,您可以修改 XML 文件以仅指定您想要的字符。因此,如果您知道您只会使用 1/2 的字符,那么您可以将其放入 .spritefont xml 文件中,并且只会生成这些字符。

有了新的 XNA Game Studio 4(仍处于测试阶段,但绝对是您应该开始使用的),它内置了对多点触控的支持。它也有一些内置的手势,适用于 Windows Phone 7。我的假设是 XNA 团队将在不久之后也能在 Windows 7 中访问它。同时,查看 Shawn Hargreaves 的博客。他有an article under his input section on this .

有大量使用 Microsoft 的 XNA 库的示例,所以如果您刚刚开始,这可能是无价的。

希望对您有所帮助,

乍得

关于c# - 这款游戏的理想选择,XNA 还是 SlimDX (DirectX 10)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3799337/

相关文章:

c# - 使用c#删除事件目录中的用户

c# - 带有 Texture2D 的 MonoGame XNA Helloworld

windows - 适用于 Windows Phone 的 XNA 游戏开发

c# - 访问帧名称会导致 "Access is denied"异常

C# 方法重载和泛型接口(interface)

c# - 覆盖属性的 XML 注释

c# - XNA C# 创建平视显示器

directx - 释放顶点/索引缓冲区会导致警告

fullscreen - DirectX 10 视频模式切换和性能

c++ - 如何在 DirectX 10 中正确更新顶点缓冲区