据我所知,有多种方法可以在同一应用程序中混合 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 集成在我们要添加到 WPF 的列表中名列前茅,因此我们正在为未来的版本考虑这一点。请继续关注(GregSc 的博客)了解详细信息。

伊恩·埃里森·泰勒

阅读更多相关内容 这里

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

附言。这真是令人印象深刻......他有一款在 Xbox 上运行的游戏。在他的桌面上使用 WPF 托管 XNA,在他的手机上使用 silverlight 互相对抗!

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

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

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

http://slimdx.org/

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top