比较X.N.A& W.P.F

时间:2012-04-11 05:27:16

标签: c# wpf xna

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

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

所以我在考虑我的选择,我已经决定在托管代码中执行此操作,C#cuz这就是我的专业知识所在,开发将很容易。

之后我需要选择 WPF XNA ,请等一下让我解释一下XNA。我不知道WPF,所以我不知道它的力量,但我在想是否要为我的界面添加一些“强化图形”,使用XNA它将非常容易因为我可以使用“粒子系统”和东西。如果您使用过XNA,您就会知道我的意思,在使用XNA的强大功能的同时创建2D和所有界面。

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

那么,知道WPF& XNA也是优选的。

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

为什么我应该使用WPF或WPF会变得更好?图形方面我的意思是像动画任何东西,我的意思是任何东西等等。

P.S

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

3 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:1)

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

WPF具有一些富媒体访问权限。您可以在控件上执行渲染变换。还有一个Viewport3D对象,允许您渲染3d对象。一个快速的谷歌搜索也出现了particle engine,但我无法验证它的有效性。

基本上,如果您正在编写GUI应用程序,请使用WPF并学习如何根据您的目的进行调整。不要强迫自己在XNA中编写整个GUI /页面系统。这不是XNA的意图,我知道从为游戏编写GUI功能的最低经验来看,这只是一个很大的痛苦。

答案 2 :(得分:0)

我认为对于你的情况,XNA可能是一个更好的方法(虽然WPF应该提供类似的支持),因为XNA比WPF更多的平台。

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