2010-05-15 3 views
6

Так что прошло какое-то время с тех пор, как я проделал какое-либо программирование на языке C#, но у меня была недавняя ошибка, чтобы вернуться к нему, и мне хотелось получить некоторые мнения о том, какую конфигурацию я должен использовать.C# 2D Vector Graphics Игра с использованием DirectX или OpenGL?

Я хотел использовать C#, так как это то, что я использую для работы, и стали знакомы с ними. Я работал как с DirectX, так и с OpenGL в прошлом, но в основном в 3D, но теперь мне интересно писать 2D-игру со всей векторной графикой, что напоминает внешний вид Geometry Wars или старую аркадную игру Star Wars.

Ключевые моменты Меня интересуют:
• Простота использования/реализации.
• Простая память. (Я планирую, что много происходит сразу)
• Выглядит неплохо, я не хочу, чтобы кривая выглядела неровной.
• Может быть, некоторые приятные эффекты, такие как свечение или частица.

Я открыт для любых предложений и все, может быть, даже что-то я не подумал ...

Заранее спасибо!

ответ

11

Если вы только начинаете снова и уже имеете фон C#, почему бы не попробовать XNA? Вы, безусловно, будет иметь возможность использовать свои навыки C# здесь

http://creators.xna.com http://creators.xna.com/en-US/downloads

+0

+1. XNA имеет огромную поддержку и множество книг, чтобы предложить больше поддержки. –

+0

И, кроме того, если вы используете XNA, у вас сразу же найдется место, где можно попробовать его с минимальными дополнительными усилиями: XBox Live Indie. В отличие от других методов публикации, для этого требуется минимальное количество функциональных рекомендаций, и взамен вы нажмете массу потенциальных людей, чтобы попробовать (если вы хотите заставить людей попробовать!) Вы также получаете доступ к гораздо большим, чем просто графическим API с XNA. вы получаете звук, вход, доступ к файлам ... все, что вам нужно подумать при создании игр. – EdgarVerona

1

ТВН это действительно не имеет значения, что вы используете. OpenGL, SlimDX или XNA. Все они будут примерно такими же сложными (или не такими, как могут быть) друг для друга.

1

Возможно, вы используете двигатель Axiom, который является портом C# Ogre3D. Достаточно высокий уровень, который вы можете визуализировать своей графикой через XNA или OpenGL с небольшим изменением кода или без него. Он также может обрабатывать ввод клавиатуры и мыши (которые обычно разделяются - например, через DirectInput в Windows или SDL в Linux).

+0

Axiom больше не находится в разработке. –

1

Вы также можете использовать TAO Framework, который основан на OpenGL и довольно приятный. Но вам нужно написать 2D Engine самостоятельно. Он также работает на Mono!

+1

Это было заменено OpenTK, afaik. –

3

Я использую SlimDX для программирования на C#, и я предпочитаю его XNA.

http://slimdx.org/

+0

+1 esp. с XNA больше не становится активной разработкой SlimDX кажется очень хорошей альтернативой OpenSource – Seph

1

Я создаю мой OpenGL двигатель с C# обертке, потому что мне нравится C# много тоже. Печально управляемые языки очень медленны, когда дело доходит до графики, и поэтому я всегда делаю свою часть OpenGL на C++, компилирую ее как DLL и получаю ее из C# с помощью interop. Если вы случайно не любите DirectX, я предлагаю вам держаться подальше от XNA. Все, кого я знаю, очень разочарованы и переключились на C++ (OpenGL) + C#.

1

Поскольку вы уже знаете C#, я бы использовал XNA или Unity. Хотя есть более быстрые языки и middlewares, они, вероятно, достаточно быстро. Оба фреймворка будут иметь необходимые функции.

Смежные вопросы