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

时间:2013-01-21 18:59:06

标签: c# xna windows-runtime monogame sharpdx

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

1 个答案:

答案 0 :(得分:13)

我对“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上运行,但你不能使用更新的东西。

微软没有为新的Windows 8和Windows Phone 8 API在C#中制作游戏。

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

<强> MONOGAME

如果您想使用XNA的api为新的Windows 8 API制作游戏,您可以使用MonoGame(这是我使用的)。它是一个开源API,它实现了XNA API,但有IOS,Android和Windows 8的插件。这是一个非常好的跨平台选项。 MonoGame最近支持3D图形(即Infinite FlightArmed)。 (注意:我不会以任何方式加入MonoGame。)

SHARP DX(DirectX)

如果您希望以Microsoft支持的方式制作针对Windows 8 API的游戏,那么最好的选择是DirectX。但是Direct X是一个C ++ API。这真的很难。

如果您想制作2D游戏(如植物大战僵尸或愤怒的小鸟),那么Direct X就有点过分了。走MonoGame路线要好得多。我花了几天时间深入研究教程并非常努力地理解Direct X.到那时我已经获得了在屏幕上绘制单个三角形的能力。 (相同的时间让我的游戏循环开始,精灵在MonoGame中移动。)

所以我再说一遍,如果您还不知道DirectX并且正在制作2D应用程序,请不要沿着DirectX / SharpDX路走下去。

Windows Phone 8不支持Direct2D进一步阻碍了DirectX 2D路由。 DirectX有一个名为Direct2D的子集用于2D渲染。但是,Windows Phone 8不支持此子集。“替换”(现在)是Direct X工具包。

如果您仍然使用Direct X,那么您可以使用SharpDX在C#中编写它。它是DirectX的C#包装器,效果很好(虽然我不知道它是否支持Direct X Toolkit)。


<强>概要

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

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