15

我知道有几种方法可以在同一个应用程序中混合 XNA 和 WPF。我发现在我的 XNA 游戏中将 WPF 用于所有 GUI 和 HUD 内容很诱人。有没有人对这种方法在现实生活中使用 .NET 3.5 SP1 的效果有任何实际经验?任何陷阱(例如“空域问题”)?关于哪种方法最有效的任何提示?

4

6 回答 6

6

在 3.5 SP1 中增加了一个允许 DirectX 和 WPF (D3DImage) 之间更好的交互的附加功能,其中一种方法是通过 XNA。

以下是一些细节:

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

于 2008-09-04T17:19:47.957 回答
5

XNA 集成在我们要添加到 WPF 的内容列表中很重要,因此我们正在为将来的版本考虑这一点。请继续关注(到 GregSc 的博客)以获取可用的详细信息。

伊恩·埃里森-泰勒

在此处阅读有关此的更多信息

于 2008-09-23T08:15:04.647 回答
1

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 都在互相对抗!!!

于 2008-09-08T07:47:43.070 回答
1

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

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

如果您只是为 PC 制作这个,那么使用 XNA 可能会更好使用 SlimDX。SlimDX 不缺少任何 Direct3D 功能并支持 Direct3D 9、10 和 11。

http://slimdx.org/

于 2010-09-25T06:21:11.790 回答
0

我个人建议不要尝试进行这种集成。我知道你想要什么......在 WPF 中定义 GUI/HUD 元素的便利性大大超过了尝试在普通的旧 XNA 中做同样的事情。但是,请现实地考虑一下尝试启用此方案所花费的时间与如果您只是在 XNA 中“本地”完成所有操作,您将节省多少。此外(这对您来说可能不是问题),wpf 在 xbox 或 zune 上不受支持 ...所以您会限制自己:-)

于 2008-09-15T17:31:13.670 回答
0

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

于 2010-09-22T21:18:23.110 回答