5

我已经在几个地方读过,可以将 XNA 和 WPF 结合起来。我个人需要的是一个游戏/地图编辑器,它实际上就是游戏本身(让引擎在后台运行),因为地图系统会将对象的序列化版本写入 XML,然后再加载。

我的问题是我想要一个标准应用程序,它会在后台运行引擎,并在用户从前端创建游戏资产时创建游戏资产,然后将它们序列化并放入 XML。

这也会派上用场,如果可以从游戏中运行 WPF,对于 UI,如果有人对此有任何经验,如果他/她愿意分享,我将不胜感激。

很快:如何制作 WPF(或 winforms)应用程序,该应用程序在其中一个控件和后台运行 XNA 代码?

4

5 回答 5

2

I posted this in another question, but there seem to be a lot of questions about how to integrate an XNA-like control in WPF. I read Nick Gravelyn's Blog and the Arcane.Xna post, and managed to develop something similar to both that completely parallels Microsoft.Xna.Framework.Game while providing WPF compatibility. You can even instantiate multiple Game classes, if you desire:

https://xnaml.codeplex.com/

于 2012-04-26T03:07:40.527 回答
1

我不知道有人将 WPF 控件嵌入到 XNA 游戏窗口中。这将是一件非常困难的事情,因为它们都使用 DirectX 进行渲染。由于您可以使用 XNA 做任何事情,这将使 WPF 覆盖等变得非常困难。如果您正在寻找游戏内控件,请尝试NeoForce

走另一条路要简单得多(阅读:实际支持)。我知道您可以将 XNA 窗口嵌入到 Windows 用户控件中——请参阅快速演示。我使用了一种类似的技术来为我的游戏制作编辑器。不幸的是,直接与 WPF 集成也会很麻烦(由于同样的原因,您不能将 WPF 控件放在 XNA GameWindow 中)。但是,您可以将该控件嵌入到 aWindowsFormsHost中,这可能会很好地工作(从未尝试过)。

显然,这在 Xbox 360 上不起作用,因为那里没有 WinForms 和 WPF,但您通常不会将编辑器放在 360 上。

另外:我希望您没有在运行时使用 XML 序列化来加载您的游戏文件——这就是 XNA 内容管道的用途。

于 2010-01-29T22:17:15.170 回答
0

给你: http: //iersoy.com/Posts.aspx ?PostID=158


资料来源: 如何在 windows mobile 上将 flash 嵌入 XNA

于 2010-02-02T17:14:57.600 回答
0

您是否尝试过创建 WPF 应用程序,然后向其添加 XNA 引用?

您应该能够做到这一点,然后创建一个继承自 GameObject 的类并将其放入您的 WPF 应用程序中。

WPF 可以直接访问许多 DirectX 以及相机以及在 WPF 中编写游戏所需的许多东西。也许只是使用 XNA 方法进行一些计算。

我绝对可以看到不止一种给这只猫剥皮的方法。

于 2010-01-29T22:08:12.627 回答
0

在 XNA 论坛上查看此主题:http ://forums.xna.com/forums/p/1122/6455.aspx

它将 1) 让您了解为什么这种集成如此麻烦,以及 2) 向您展示如何在 WPF 表单上托管 XNA 控件(查找 ZMan 的帖子)。至于在 XNA 中使用 WPF 进行 GUI 渲染,我不会屏住呼吸。微软真的没有什么理由不遗余力地支持这一点,而且控制台 GUI 体验与用于点击的 API 并没有很好地匹配。

于 2010-01-29T22:14:31.777 回答