0

我为 Windows 设计了一个界面。我想开发它。

我没有为 Windows 编写一个 shell,这需要我学习很多很多很多新东西,我正在考虑制作一个在 Windows 上运行的全屏应用程序,用户只能通过这个应用程序进行交互。我认为 Microsoft Surface 也是如此。

所以我正在考虑我的选择,我决定在托管代码中执行此操作,C# 因为那是我的专长所在,并且开发将很容易。

之后我需要从WPFXNA中进行选择,等等让我解释一下 XNA。我还不知道 WPF,所以我不知道它的功能,但我在想如果我要为我的界面添加一些“密集图形”,使用 XNA 会很容易,因为我可以使用“粒子系统”之类的东西. 如果您使用过 XNA,您就会明白我的意思,在使用 XNA 的强大功能的同时创建 2D 界面等等。

另一个选项是 WPF,我不知道,因此,我自己无法做出决定。

因此,了解 WPF 和更喜欢 XNA 的人也是如此。

为什么我不应该使用“C# + XNA”,会有什么缺点以及这种组合会在哪里失败。

为什么我应该使用 WPF 或者 WPF 会足够好图形方面我的意思是像动画任何东西,我的字面意思是任何东西等等。

ps

我知道我将不得不选择一个答案,但所有答案对我来说都是非常有益的讨论。

4

3 回答 3

1

XNA 和 WPF 是根本不同的技术,因此您需要选择适合您情况的技术。XNA 面向游戏开发者,而 WPF 面向应用程序开发。

你需要使用显卡吗?需要为 Xbox 360 编写游戏吗?选择 XNA。

您是否需要制作一个允许用户查看和编辑数据的桌面应用程序?这包括 Web 浏览器、媒体播放器、文字处理器等。选择 WPF。

于 2012-04-11T05:46:58.797 回答
1

作为一名游戏程序员,我发现过渡到 WPF 非常具有挑战性。尽管如此,它在 GUI 设计方面还是领先于 XNA。如果你的应用程序(你真的应该告诉我们更多)依赖于 GUI 进行用户交互,你将不得不在 XNA 中从头开始创建一个完整的 GUI 系统。这对我来说听起来并不有趣。

WPF 有一些富媒体访问。您可以对控件执行渲染转换。还有一个 Viewport3D 对象,它允许您渲染 3d 对象。一个快速的谷歌搜索也出现了一个粒子引擎,虽然我无法验证它的有效性。

基本上,如果您正在编写 GUI 应用程序,请使用 WPF 并学习如何根据您的目的调整它。不要强迫自己在 XNA 中编写整个 GUI/页面系统。这不是 XNA 的本意,而且我从为我的游戏编写 GUI 函数的最少经验知道这只是一个主要的痛苦。

于 2012-04-12T20:40:31.010 回答
0

我认为对于您的情况,XNA 可能是一种更好的方式(尽管 WPF 应该提供类似的支持),因为 XNA 比 WPF 更适用于更多平台。

通过 MonoGame (http://monogame.codeplex.com),基于 XNA 的应用程序可以在 iOS、Android、OS X、Linux 等平台上运行。

于 2012-04-11T05:34:18.583 回答