我可以用 C# 编写 Windows 8 RT 游戏吗?

本文关键字:RT 游戏 Windows 编写 我可以 | 更新日期: 2023-09-27 17:55:17

是否可以使用 C# 编写 Windows 8 RT 和/或 Windows 8 Phone 游戏?

我可以用 C# 编写 Windows 8 RT 游戏吗?

我对"C#中的游戏"做了大量的研究,所以我想我会把它发布给其他人:

XNA 是制作 C# 游戏的简单方法。 您可以在Windows应用商店上发布新的XNA游戏,它将正常工作。

但是,您不能使用 XNA 制作 Windows Phone 8 或 Windows 8 游戏。 (您只能以 Windows Phone 版本 7.1 为目标。 XNA 不支持这些操作系统的新 API。

但是,Windows Phone 8和Windows 8都将运行XNA应用程序。 这些应用程序无法针对特定于Windows 8或Windows 8 Phone的任何功能。

所以总结一下。 当前版本的XNA(4.0)支持较旧的API与Windows和Windows Phone通信。 它们仍然可以在Windows 8上运行,但你不能使用较新的东西。

Microsoft没有为新的Windows 8和Windows Phone 8 API制作C#游戏的产品。

但是,如果您不介意使用开源项目,则可以执行一些操作来使用 C# 编写可以使用较新的 Windows 8 和 Windows Phone 8 API 的游戏:

单游戏

如果你想使用XNA的api为新的Windows 8 API制作游戏,你可以使用MonoGame(这是我使用的)。 它是一个开源API,实现了XNA API,但具有适用于IOS,Android和Windows 8的插件。 这是一个非常好的跨平台选项。 3D图形最近得到了MonoGame(即Infinite Flight,Armed)的支持。 (注意:我与MonoGame没有任何关系。

夏普DX (DirectX)

如果你想要一种Microsoft支持的方式来制作面向Windows 8 API的游戏,最好的选择是DirectX。 但Direct X是一个C++的API。 这也真的很难。

如果你想做一个2D游戏(比如植物大战僵尸或愤怒的小鸟),那么Direct X是矫枉过正的。 你最好走MonoGame路线。 我花了几天时间挖掘教程,并非常努力地理解Direct X。 在那段时间结束时,我获得了在屏幕上绘制单个三角形的能力。 (同样的时间让我的游戏循环和精灵在MonoGame中移动。

所以我再说一遍,如果你还不了解DirectX并且你正在制作一个2D应用程序,请不要走DirectX/SharpDX的道路。

DirectX 2D路由因Windows Phone 8不支持Direct2D而进一步受到阻碍。 DirectX 有一个名为 Direct2D 的子集,用于 2D 渲染。 但是,Windows Phone 8 不支持此子集。 "替代品"(目前)是Direct X工具包。

如果你仍然完全喜欢Direct X的道路,那么你可以使用SharpDX用C#编写它。 它是DirectX的C#包装器,运行良好(尽管我不知道它是否支持Direct X Toolkit)。


总结

简而言之(对我来说),Microsoft没有更新他们的C#游戏开发的API,以支持Windows 8和Windows Phone 8中的新内容。 但是MonoGame允许你使用XNA API来做到这一点。 它还允许您编写跨平台游戏,因此无论如何都更好。 (您可以"免费"移植到IOS和Android。

我的游戏在 MonoGame 中进展顺利,到目前为止没有任何问题!