2014-06-15 5 views
3

Я пытаюсь создать довольно сложную игру (с открытым исходным кодом для windows, используя dx11, C++), и я ищу библиотеку GUI, предназначенную для использования в играх (I не заботятся о макетах, а скорее о персонализированном образе). Я тестировал QT, CEGUI и многие другие, но они не соответствовали моим требованиям. Когда я нашел Scaleform, я начал искать бесплатные альтернативы, такие как Awesomium, которые обладают способностью отображать содержимое flash или html5. Так что у меня есть несколько вопросов:Необычный интерактивный графический интерфейс для игры C++

  1. что лучше использовать «нормальные» рамки GUI, как QT или CEGUI? Как насчет промежуточных GUI-систем, хорошо ли они в играх? Самое главное для меня, что lib должен дать мне контроль над основным циклом.

  2. Что вы думаете о другом решении (Awesomium)? Достаточно ли, что я просто делаю * .swf-файл и импортирую его в свою игру? Это также даст возможность создания 3d-интерфейса, я прав? Наконец, если вы рекомендуете мне использовать Awesomium, что я должен использовать - Flash (у меня есть некоторый опыт) или html5 (я ничего не знаю об этом, но изучение js не должно быть проблемой)?

ответ

0

Вы можете скачать следующие PDF

Это учебное пособие по QML, рамки на основе Qt, используемых для игр. Если у вас есть прошлый опыт работы с Qt, это должен быть легкий ветерок. Вы бы лучше знали JavaScript для этого.

Flash также будет хорошим вариантом, но если вы хотите, чтобы ваша игра в графическом интерфейсе работала на iPad, у вас возникнут проблемы. Если вы на самом деле планируете распространять свою игру на iPad, то HTML5 будет лучшим выбором, чем Flash (так как Apple случайно решила не использовать Flash).

QML также позволит вам создавать 3D-игры.

Если вы хотите более профессиональную разработку игр (включая размещение игры на веб-сайте), вы можете взглянуть на Unity. Обычно он связан с C#, который похож на C++.

Об Awesomium, вам лучше использовать HTML5, так как Flash находится на стадии снижения своего жизненного цикла. Если вы согласны с покупкой лицензии на Awesomium, тогда идите с этим. Вы должны знать, планируете ли вы распространять свою игру, и вам нужно знать, сколько денег вы будете делать (если есть). Если он составляет менее 100 000 долларов, то вы можете бесплатно распространять игру и не нуждаться в платной лицензии.

Единство,


Awesomium,

1

Что я предлагаю что-то, что поставит вас в состояние использования вспышки/html5.

Посмотрите http://coherent-labs.com/

Я использую его в моем личном проекте (платформа PC).

+0

Я видел это, и это еще более удивительно (это мнение по запросу ..), но насколько я понимаю, это всего лишь 30-дневная пробная версия, верно? (и довольно дорого [ссылка] (http://coherent-labs.com/native-pricing/)) – padura

3

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

Вы сказали, что CEGUI и Qt не соответствуют вашим требованиям. Не могли бы вы указать это дальше?

CEGUI можно легко улучшить и использовать с Direct3D, OpenGL, Ogre Engine, Irrlicht Engine и также может быть интегрирован в любой другой двигатель с использованием OpenGL или Direct3D. Кроме того, вы можете настроить внешний вид элементов пользовательского интерфейса с помощью XML. Look n 'Feel XML-файлы позволяют создавать собственные элементы пользовательского интерфейса, а также обходить их. Файлы макета позволяют разделить каждую страницу игрового меню на другой файл или сделать другой вид для каждого типа пользовательского интерфейса или отдельных подразделов вашего интерфейса в разные файлы. Эти файлы можно редактировать с помощью редактора CEED, что позволяет создавать макеты, добавлять элементы и выравнивать их. Этот процесс может быть не таким интуитивным, как во Flash, однако он требует меньших результатов, и CEGUI уже имеет богатый набор различных типов виджетов. Кроме того, это легко поддается упрощению, поскольку у вас есть доступ ко всему C++-коду и активному сообществу.

Имейте в виду, что при использовании новой библиотеки GUI с половинным баком вы можете в какой-то момент достичь точки, когда вы пропустите функцию и не можете ее добавить. С Qt и CEGUI это, скорее всего, не так, потому что эти проекты существуют очень долго и могут быть скорректированы с учетом ваших потребностей. Также имейте в виду, что CEGUI и Qt предоставляются бесплатно. CEGUI имеет лицензию MIT, поэтому вам необходимо включить файл лицензии в папку вашей последней игры, вот и все.

2. Использование flash и html - это, безусловно, простой способ создания графических интерфейсов. Однако, если в библиотеке пользовательского интерфейса есть редактор, это может быть достаточным решением для вас. Qt имеет редактор WYSIWYG, который отлично работает. CEGUI также имеет это, хотя до сих пор не хватает редактора для скинов виджета (что-то, что вы, вероятно, захотите сделать). Редактор Skinning для CEGUI (CEED) в настоящее время выполняется, но может потребоваться несколько месяцев, пока он не будет выпущен.

Надеюсь, эта информация поможет вам.

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