2012-02-23 3 views
4

Я сделал некоторые взгляды, и я не могу найти хороший способ написать 2D-плитку/спрайт на основе игры в C# для Win8. Согласно документации MSDN:Приложение Metro с 2D-графикой в ​​C#

Вы можете использовать языки управляемого кода, такие как C# и Visual Basic, для разработки 2D (и легких 3D) игр.

Проблема в том, что я не могу понять, как это сделать. Причина, по которой я хотел бы использовать C#, состоит в том, что у меня уже есть много кода, написанного для Windows Phone, который я бы хотел использовать повторно.

Может ли кто-нибудь указать мне, как бы я написал довольно эффективную 2D-плитку/спрайт MetroUI для Win8? Единственное, что я могу найти, использует C++ и DirectX.

[EDIT]

Для уточнения я не забочусь слишком много того, что я использую (WinRT, DirectX ...) до тех пор, как я могу подать в магазин приложений, и написать свой код в C#.

+0

Я думаю, что с метро-ui вы имеете в виду WinRT? Взгляните на этот документ http://download.microsoft.com/download/1/E/4/1E455D53-C382-4A39-BA73-55413F183333/Windows_Developer_Preview-Windows8_guide.pdf. Он объясняет, какие параметры вам нужны для написания игр. Чтобы сделать это коротко, вы можете использовать Direct2D, Direct3D и некоторые вспомогательные материалы из XNA также будут доступны. Но если вы просто хотите создать игру, которая будет работать на win8 без WinRT, это также будет возможно, но может не работать на планшетах или поддерживаемом будущем телефоне Windows 8. Также WinRT совместим с C#, поэтому поддержка directx, вероятно, будет расширяться до C# aswell – dowhilefor

+0

Это все еще не помогло. Это было очень общее. –

+0

http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.media.aspx –

ответ

3

Если вы знакомы с DirectX API, вы можете использовать SharpDX, доступный через http://sharpdx.org. Он в основном предоставляет API DirectX в C#. Насколько я понимаю, если вы собираетесь загружать приложения в магазин, SharpDX должен быть в порядке и соответствовать требованиям, но я бы заглянул в него дальше, прежде чем идти слишком глубоко.

Кроме того, на данный момент доступны не все функции (например, Direct2d не полностью сертифицирован для Win8 Metro).

+1

Насколько я понимаю, он хочет использовать WinRT. И я не думаю, что slimdx WinRT готов и не нужен. Потому что в WinRT directx снова будет доступен. – dowhilefor

0

Если ваша игра использует простую графику, вы можете использовать Drawing Library for Modern UI, она предоставляет интерфейс GDI +, который будет использоваться в современных приложениях пользовательского интерфейса XAML/C#/VB.NET Windows 8, он работает путем рисования на холсте XAML.

0

Если вы ищете что-то быстрое и легкое ознакомление с проектом «Физический помощник XAML»;

http://physicshelperxaml.codeplex.com/

Он основан на предсказателя двигателя, и поставляется с образцами приложений. Есть несколько игр, уже выпущенных с его помощью.

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

0

Теперь вы можете использовать Win2D (с открытым исходным кодом, выпущенный Microsoft для приложений Metro/WinRT), который обеспечивает аппаратное ускорение 2D-рендеринга.