Qt, CEGUI или wxWidgets для графического интерфейса текстовой игры? - PullRequest
2 голосов
/ 16 августа 2011

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

Я прошу прощения за грамматику / синтаксис, но английский не мой родной язык.Недавно я потерял работу, поэтому у меня достаточно свободного времени, чтобы попробовать что-нибудь веселое.Я решил создать простую текстовую RPG-игру для себя и некоторых друзей.Он будет очень близок к настольным играм, таким как Talisman, Dungeon Run и HeroQuest, используя кости и простую систему атрибутов / навыков.Так что нет 3D графики.Единственный 2-й элемент, если я решу включить его, будет карта, которая позволит герою перемещаться между локациями.В настоящее время я использую Windows XP SP3, для игры я использую wxDev-C ++, и хотя кроссплатформенность была бы крутой, мне все равно.

У меня есть некоторый опыт работы с C ++ (в настоящее время я использую wxDev-C ++), но меня далеко не называют экспертом или даже отличным программистом.Я собирался начать писать части кода, но решил проверить, возможно ли создание графического интерфейса для игры.На некоторых форумах многие предлагали использовать Qt, CEGUI или wxWidgets, но большинство примеров, которые я видел, - это серые прямоугольники, которые в лучшем случае безразличны, когда я хочу что-то, что лучше подходит для фантазии.Я не утверждаю, что у меня получилось бы лучше, но я хочу графический интерфейс, который больше связан с фантазиями.

Что я хочу от GUI: 1. «Классный» графический интерфейс с достойной графикой.Я мог бы даже создать изображение, которое будет использоваться в качестве маски в Photoshop, но построитель GUI должен будет поддерживать импортированные изображения.2. Относительно большое текстовое поле посередине (с полосой прокрутки), которое будет отображать броски кубика, урон и варианты.3. Возможность динамического отображения значений (например, изменения состояния после каждого действия без необходимости обновления вручную). 4. Отображение значка или небольшого изображения персонажа в области, где отображаются статистические данные / способности.5. Откройте новые окна, созданные с помощью того же GUI Builder, чтобы распределять баллы, покупать / продавать вещи и открывать карту.

О карте в игре: я решил создать карту в фотошопе.Когда герой решит переместиться в другое место, откроется новое окно с картой.Я подумал о 2 возможных способах перемещения между локациями: 1) Создайте горячие точки на изображении и выберите одну, нажав на название локации. (Я не смею думать о сложности этого, поэтому мы переходим к идее № 2) и 2) Имейте изображение в качестве фона для сетки с вертикальными и горизонтальными координатами.Когда герой выбирает новую область для посещения, он нажимает на область, но на самом деле он щелкает по сетке, которая возвращает два значения (x, y) местоположения и информирует игру об области, которую хочет герой.посетить.

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

Если кто-то из вас использовал Qt, CEGUI или wxWidgets, не могли бы вы сказать, какие из них охватывают большую частьмои критерии?Я видел, как с CEGUI собирались отличные вещи, но я не знаю, слишком ли трудно их выучить?

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

1 Ответ

0 голосов
/ 11 ноября 2014

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

  1. CEGUI полностью поддерживает создание виджетов с использованием XML.Наш редактор CEED (WYSIWYG) полностью поддерживает редактирование макетов, но редактор скинов (редактор LNF) на данный момент не закончен (11.11.2014), однако версия для разработки поддерживает обмен изображениями и изменение размеров и пропорций, но более сложные настройки должныбыть сделано в XML.CEGUI имеет редактор наборов изображений, полностью поддерживаемый редактором CEED.Поддерживается создание наборов изображений (наборов именованных подизображений с положением и размером внутри большого текстурного атласа).Кроме того, есть возможность создавать наборы изображений из нескольких файлов jpg / png / ... с помощью инструмента.Вы должны были бы спросить о специфике на форуме, потому что он еще не интегрирован в CEED.

Так что, в основном, с CEGUI вы можете создавать любой графический интерфейс фантазии, какой пожелаете.Скинирование простых элементов, таких как кнопки и индикаторы выполнения, не так уж и много работает в XML.Без готового редактора некоторые более продвинутые виджеты стали бы более трудоемкими, но многие скины уже были созданы таким образом, и некоторые из них даже публично доступны на форуме и в исходных файлах CEGUI.

Виджеты StaticText поддерживают то, что вы хотите, вы даже можете использовать изображения там или изменять шрифты и цвета в тексте, если хотите.Также поддерживаются полосы прокрутки.

Я не уверен, что вы подразумеваете под этим.Вы должны указать это.

Для этой цели в CEGUI доступен простой виджет «Универсальный / изображение».Вы можете использовать предварительно созданные изображения или даже текстуры RTT.

Вы можете создавать и уничтожать окна в CEGUI без проблем.

Относительно карты: IЯ не уверен, что вы имеете в виду, но получить положение щелчка по изображению (представляющему карту) возможно в CEGUI.

CEGUI не особенно сложен в изучении.Всегда есть форумы и чат, если у вас есть вопросы.Для проекта с открытым исходным кодом он достаточно хорошо документирован, поэтому, если вы прочитаете всю документацию по API и посмотрите на предоставленные примеры в браузере примеров, вы уже должны пройти довольно далеко.И для всего дополнительного есть форум (поиск), IRC-чат и вики сообщества (не забывайте о целевых версиях статьи там)

Для проекта, подобного вашему, CEGUI кажется идеально подходящим (вот чтоэто было создано для в первую очередь).Qt не очень подходит для игр по многим причинам.wxWidgets, которые я никогда не использовал.

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