关于互操作性:WPF与XNA在现实生活中融合得如何?

关于互操作性:WPF与XNA在现实生活中融合得如何?

How well does WPF blend with XNA in real life?

我了解在同一个应用程序中有几种混合XNA和WPF的方法。 我发现在XNA游戏中将WPF用于所有GUI和HUD东西很诱人。 是否有人对使用.NET 3.5 SP1在现实生活中如何有效地工作有任何实践经验? 有什么陷阱(例如"空域问题")吗? 关于哪种方法最有效的任何提示?


3.5 SP1中有一个附加功能,可以在DirectX和WPF(D3DImage)之间实现更好的交互,而达到此目的的一种方法是通过XNA。

以下是一些详细信息:

http://jmorrill.hjtcentral.com/Default.aspx?tabid=428&EntryID=259


XNA integration is high on our list of things to add to WPF so we're looking in to this for future versions. Stay tuned (to GregSc's blog) for the details as they become available.

伊恩·埃里森·泰勒

在这里阅读更多关于此的信息


您想使用D3DImage,但D3DImage在Windows XP与Windows Vista或Windows 7上的工作方式有所不同。

在Vista或7上,您创建一个非锁定renderTarget与D3DImage一起使用,并使用Direct3D9EX设备。
在XP上,您创建一个可锁定的renderTarget与D3DImage一起使用并使用普通的Direct3D9设备。

此外,如果您只是为PC制作的,则还希望使用XNA,最好使用SlimDX。 SlimDX不缺少任何Direct3D功能并支持Direct3D 9、10和11。

http://slimdx.org/


Thamir Khason在Tech-ed上发表了有关WPF / XNA / Silverlight的精彩演讲,以下是他的幻灯片:
http://blogs.microsoft.co.il/blogs/tamir/archive/2008/04/14/my-teched-08-presentation-slides-download.aspx

PS。看到这真令人印象深刻……他有一个在xbox上运行的游戏。在他的桌面上使用WPF托管XNA,并在他的手机上使用silverlight互相竞争!!!


嘿,我知道这是发布后的一段时间,但是如果您仍在寻找XNA的WPF解决方案,则可能需要关注http://red-badger.com/product。 XPF解决方案将wpf放入XNA。因此,请看一下,目前它是免费的(处于beta中),但是随着他们添加更多组件,这种情况将会改变


我个人建议不要尝试进行此集成。我知道您要做什么...在WPF中定义GUI / HUD元素的难度大大超过了在普通的旧XNA中尝试执行相同操作的重要性。但是,请现实地考虑您尝试启用此方案所花费的时间,以及仅在XNA中"本机"完成所有操作所节省的费用。另外(这可能对您来说不是问题),xbox或zune不支持WPF ...因此您会受到限制:-)


推荐阅读