带有C#二维图形的Metro应用程序

本文关键字:图形 Metro 应用程序 二维 带有 | 更新日期: 2023-09-27 18:25:25

我已经做了一些查找,但我找不出一个好的方法来为Win8用C#编写一个基于2D tile/sprite的游戏。根据MSDN文档:

您可以使用C#和Visual Basic等托管代码语言来开发2D(和轻量级3D)游戏。

问题是我不知道该怎么做。我之所以想使用C#,是因为我已经为Windows Phone编写了很多代码,我想重复使用这些代码。

有人能告诉我如何为Win8编写一款相当高效的2D tile/sprite MetroUI游戏吗?我唯一能找到的是使用C++和DirectX。

[编辑]

为了澄清,我不太在乎我使用什么(WinRT、DirectX…),只要我可以提交到应用商店,并用C#编写代码。

带有C#二维图形的Metro应用程序

如果您熟悉DirectX API,您可以通过http://sharpdx.org.它基本上将DirectX API公开到C#中。据我所知,如果你要将应用程序上传到商店,SharpDX应该可以通过合规性测试,但在深入研究之前,我会进一步研究。

此外,到目前为止,并不是所有的功能都可用(比如Direct2d没有经过Win8 Metro的完全认证)。

如果你的游戏使用简单的图形,你可以使用Drawing Library for Modern UI,它公开了一个类似GDI+的接口,用于XAML/C#/VB。NET Windows8现代UI应用程序,它通过绘制到XAML画布来工作。

如果你正在寻找快速简单的东西,请查看"Physics Helper XAML"项目;

http://physicshelperxaml.codeplex.com/

它基于farseer引擎,并附带示例应用程序。有一些游戏已经发布使用它。

http://www.andybeaulieu.com/Home/tabid/67/EntryID/223/Default.aspx

看看:[XAML图像示例](http://code.msdn.microsoft.com/windowsapps/0f5d56ae-5e57-48e1-9cd9-993115b027b9/sourcecode?fileId=102748&路径Id=677969581)

页面和示例提供了一些NineGrid和WriteableBitmap图像操作的代码。

您现在可以使用Win2D(开源,由Microsoft为metro/WinRT应用程序发布),它提供硬件加速的2D图形渲染。