将游戏合并到 WinRT 应用中

Merging a game into WinRT app

我想知道我有哪些选项可以将 2D 游戏合并到已经开发的 WinRT 应用程序中。我在 Unity3D 中开发了几个游戏,但不确定它们是否可以作为 WinRT 应用程序的一部分播放(单击按钮启动)。

我听说Microsoft 提供了用于游戏开发的XNA 框架。这对我的情况有帮助吗?要求是在单击按钮时启动游戏并在单击后退按钮时返回应用程序。

如果有更好的approach/tool,请告诉我。

首先,您说您想要将游戏与 WinRT 应用程序合并 - 您的意思是您想要将游戏放入另一个应用程序中,所以也许有一个应用程序作为您游戏的启动台?如果您想使用 Unity 定位 WinRT,我只查看了 Unity 定位的平台,Universal Windows Platform 列在那里。您可以在 Unity 中编写应用程序部分,不是吗?因此,该应用程序只是您看到的第一个场景。这可能看起来很奇怪,但如果您必须使用 unity,并且该应用程序只是一个没有太多要求的小应用程序,您可以那样做。

Xna 已停产。你应该使用其他框架。

如果您想从头开始编写它,我建议您将其编写为 WinRT 应用程序(通用 Windows 平台),以便您可以在 Xaml 中定义应用程序 UI并使用专用 graphics/game api 编写游戏,例如 SharpDX http://sharpdx.org/ (which is a wrapper around DirectX) or perhaps even better, take a look at Win2D http://microsoft.github.io/Win2D/html/Introduction.htm 这是一个非常令人印象深刻的 2d 图形 api.

实际上,SharpDX 和 Win2D 都将以 Xaml 控件之一为目标,使您可以访问交换链(例如 SwapChainPanel、SwapChainBackgroundPanel、CanvasControl 等)。这些 Xaml 控件已集成到 Xaml UI 中,并且可以在您需要时简单地弹出它们和中提琴,您的游戏是 运行。

由于我想将它与我的 WinRT 应用集成,因此我决定使用专为 2D 游戏设计的 Scirra Contstruct 2。它将项目导出为我在服务器上托管的网站,并在我的应用程序中使用 WebView 来加载游戏。不仅性能好,而且作为副产品,它让游戏跨平台。