我正在开发一个小而简单的 XNA 游戏,我注意到我花了太多时间来实现基本的 UI 功能,如菜单、(丰富的)文本渲染,包括换行和基本的 UI 布局,如元素对齐。
这是一个相当普遍的问题,我想知道是否有人知道处理这些事情的库。我知道 Windows 程序员可以使用一些很好的可换肤选项(我想到了 Crazy Eddie 的 GUI),但是当我瞄准 Xbox 360 时,我想找到一个纯托管的解决方案。
我正在开发一个小而简单的 XNA 游戏,我注意到我花了太多时间来实现基本的 UI 功能,如菜单、(丰富的)文本渲染,包括换行和基本的 UI 布局,如元素对齐。
这是一个相当普遍的问题,我想知道是否有人知道处理这些事情的库。我知道 Windows 程序员可以使用一些很好的可换肤选项(我想到了 Crazy Eddie 的 GUI),但是当我瞄准 Xbox 360 时,我想找到一个纯托管的解决方案。
xWinForms很容易成为 XNA 最完整和最积极维护的 GUI 系统。Window System for XNA (WSX)在过去取得了一些不错的进展(我一直在研究它),并且仍然是一个不错的系统,尽管它已经一年多没有维护了。最好的选择肯定是使用 xWinForms,至少在WPF 互操作性出现之前(WPF/XNA 的下一个版本?)并且使所有其他选项有效地过时。
有XNA Simple Gui和xWinForms。它们提供了一些基本的 GUI 元素。不过,还没有看到任何菜单组件。
查看 SQUID: http: //www.ionstar.org/
这是一个非常干净、快速且独立于引擎的 UI 系统。我已经广泛使用它并且非常喜欢使用它。下载内容包括 XNA 3.1、Truevision3D 和 SlimDX 的示例代码。
我将推荐Nuclex 框架的 GUI 库。Nuclex 很棒、很活跃并且经过全面测试。它适用于 Windows 和 Xbox 360。它的设计也很棒。
此处列出的大多数项目现在都已过时。
XNA 论坛上这个问题的官方主题是http://xboxforums.create.msdn.com/forums/t/15274.aspx [链接更新]
多年来,ZMan 一直在更新它。
查看游戏状态管理示例以获取游戏菜单示例。
注意:最后我检查了一下,它在 XNA 3.0 中没有完全发挥作用。
见 FuchsGUI 它是一个轻量级的 GUI 库
http://ghoshehsoft.wordpress.com/2011/02/11/xna-fuchsgui-part-i/
我曾经在我的一个项目中使用过这个Neoforce Controls库。皮肤可以更改,默认的现代和类似太空的 UI 皮肤可能会让您感兴趣。
请注意,声明此库不会继续开发。无论如何,您可能会在那里找到有用的东西。
注:截至今年6月,此处移至GitHub并恢复开发: https ://github.com/NeoforceControls/XNA
将核冬天添加到此列表中:https ://bitbucket.org/sparklinlabs/nuclearwinter/
这是一个外观时尚的 GUI,并且在构建时考虑了触摸输入。