Лучшее решение для простой игровой графики в C # /. Net - PullRequest
5 голосов
/ 26 апреля 2009

Я делаю пошаговую нисходящую игру в C #. Требования к графике довольно просты: она полностью 2D, требует рисования некоторых изображений, взятых из графических файлов (возможно, сначала их поворота), рисования линий для создания шестигранной сетки и возможности размещения текста в любом месте на экране.

Мне интересно, какой лучший API для этой графики. Является ли XNA излишним для этого, есть ли что-то более подходящее? Спасибо (у меня нулевой опыт разработки графики или игр в .net, так что не бойтесь ничего не отвечать).

Ответы [ 8 ]

3 голосов
/ 26 апреля 2009

Я бы порекомендовал XNA для этого. Если вам не нужны некоторые накладные расходы на XNA, я обнаружил, что SlimDX - это очень приятный маленький фреймворк. Они также предоставляют некоторые базовые игровые классы, чтобы упростить эту задачу.

Создание чертежа непосредственно в WPF также довольно просто, но позже его сложнее расширить. XNA и SlimDX предоставляют вам доступ к шейдерам, очень мелкозернистому управлению альфа-смешиванием, а также возможность легко расширять части в 3D позже, если это необходимо.

2 голосов
/ 26 апреля 2009

Я бы порекомендовал WPF. Загрузка графики и ее перемещение должно быть довольно простым. Поскольку WPF также основан на векторах, рисование линий будет простым.

XNA будет следующим шагом. Отличная поддержка спрайтовой графики, а также доступ к шейдерам.

2 голосов
/ 26 апреля 2009

До этого я использовал движок Farseer Physics, который был довольно крутым и чрезвычайно простым для восприятия (я разработчик для предприятий, а не разработчик игр). Это работает для Silverlight, так что вы можете сделать свою игру на основе Интернета. Я бы предложил Silverlight или WPF для 2D.

http://www.codeplex.com/FarseerPhysics

1 голос
/ 26 апреля 2009

Учитывая ваше требование, вы можете просто использовать простой C # и GDI (для 2d растеризации). Однако изучение XNA достаточно просто, и оно вам пригодится, когда вы решите сделать игру в реальном времени (2d или 3d) в будущем. В любом случае, получайте удовольствие, и если XNA кажется сложным, когда вы только начинаете, просто вернитесь к GDI. Делать игры должно быть так же весело, как играть в них:)

1 голос
/ 26 апреля 2009

Если это так просто, как кажется, и даже не в режиме реального времени, возможно, вам ничего не нужно. Рисование шестигранной сетки и некоторых изображений не должно быть сложным даже без игрового движка. Может быть, WPF подойдет для этого.

0 голосов
/ 26 апреля 2009

Оформить Unity 3D - он основан на C # и может использоваться для 2D. Это может быть излишним (включая цену), но в целом для разработки игр это ОГРОМНАЯ помощь.

0 голосов
/ 26 апреля 2009

Вы можете сделать это, просто используя классы внутри пространства имен System.Drawing. И XNA, безусловно, излишне для такого рода вещей. Также вы бы представили множество зависимостей для вашей маленькой игры, что может быть нежелательным для ваших игроков.

0 голосов
/ 26 апреля 2009

XNA звучит как хороший выбор (это будет лучше, чем использование DirectX SDK !!, и его довольно легко освоить)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...