在 WinForms 中嵌入 XNA

Posted

技术标签:

【中文标题】在 WinForms 中嵌入 XNA【英文标题】:Embed XNA in WinForms 【发布时间】:2011-09-27 08:08:01 【问题描述】:

是否可以在 C# WinForm 或 C++ 窗口中嵌入 XNA 游戏。如果是,那么如何。

我想使用普通的 UI 控件并拥有一个游戏的窗口界面,以进行更具交互性和动态的模拟。

【问题讨论】:

谷歌搜索的结果很复杂,这些结果并没有导致安德鲁在下面提到的内容 【参考方案1】:

官方样本:

XNA WinForms Series 1: Graphics Device XNA WinForms Series 2: Content Loading

【讨论】:

是的..我会这样做,因为它也是微软官方的 旁注:两者都没有解决鼠标输入与场景交互的问题。 我已经回答了你的问题here。基本上你必须正确设置Mouse.WindowHandle(或使用WinForms事件)。【参考方案2】:

我已经使用此处描述的方法成功地做到了这一点:

XNA 3.0 and Winforms, the easy way

这篇博文是为 XNA 3.0 编写的,但我在 XNA 4.0 上使用相同的方法没有问题。

与微软官方示例相比,它非常简单,但由于此方法不受官方支持,请自行承担使用风险。它在我的情况下完美运行,并且只需要对 Game 类进行少量更改。

【讨论】:

以上是关于在 WinForms 中嵌入 XNA的主要内容,如果未能解决你的问题,请参考以下文章

在 WinForms 应用程序中嵌入 IronPython 并中断执行

在 Winforms-Application 中嵌入的 Unity-Application 上调用函数 [重复]

可以将 WinForms 嵌入到 VCL Delphi 应用程序中吗?

在 WPF/C# 中嵌入 Firefox/Gecko

WinForms界面控件初探:布局灵活让你灵感一现的Tile Control

.NET 在 Windows 任务栏中嵌入应用程序