GUI
На этой странице описано поведение игрового интерфейса, его особенности и взаимодействие с ним.
На этой странице описано поведение игрового интерфейса, его особенности и взаимодействие с ним.
Игровой интерфейс это отдельный визуальный слой представленный поверх основного 3D движка, поэтому к элементам GUI можно отнести как индикатор здоровья игрока, так и карту мира. Все эти элементы отрисовываются самостоятельно и помещаются сверху графического потока.
В рамках игры все элементы GUI реализованы с помощью Flash (swf) анимации, что позволяет гибко настраивать интерфейс без использования основного игрового движка. Так как Flash-анимация имеет встроенный скриптовый язык, элементы интерфейса могут тесно взаимодействовать с основной игрой через скрипты самой игры.
Для организации взаимодействия игры со скриптами в файлах Flash, сами игровые файлы интерфейса представляют из себя специальный доработанный формат .redswf. Однако внутри REDkit отсутствует встроенный редактор для данного формата, поэтому разработчики инструмента позаботились о том, чтобы у вас была возможность отредактировать GUI во внешнем редакторе.
Перед редактированием файлов GIU вам нужно убедится, что будущие файлы Flash будут правильно взаимодействовать с игрой. Для этого в ваш проект должны быть добавлены необходимые файлы скриптов, которые будут использованы файлами .swf при их создании. Все необходимые скрипты находятся в папке actionscript, которую можно найти в Asset Browser по пути "gameplay > gui_new > actionscript".
Папка actionscript содержит множество скриптов, используемых разными файлами GUI, поэтому в идеале нет необходимости копировать их все, однако вы можете упростить себе работу, просто скопировав папку целиком.
Для этого нажмите на папку gui_new правой кнопкой и выберите "Show in Explorer (Depot)". В открывшемся окне проводника скопируйте папку actionscript и вернитесь в Asset Browser. Теперь перейдите в папку проекта в проводнике и вставьте скопированную папку в место по пути "gameplay > gui_new". Если указанных папок нет, создайте их.
Теперь в контекстом меню папки скриптов в Asset Browser выберите пункт "Rescan content" и, если вы все сделали правильно в папке actionscript вы увидите что все файлы в ней имеют иконку зеленой галочки вместо замочка.
Все редактируемые файлы GUI в формате .fla расположены в Asset Browser в папке "gameplay > gui_new > fla > wither3", где они рассортированы по подпапкам в зависимости от роли элемента интерфейса в игре.
Выбрав необходимый файл .fla, выполните сheckout с помощью контекстного меню, чтобы поместить файл в папку вашего проекта, после чего откройте его с помощью подходящего внешнего редактора.
В этом и прочих уроках для редактирования формата .fla будет использоваться Adobe Animate, однако работа с данной программой будет рассматриваться в минимально необходимом объеме без углубленного изучения программы.
Подробно ознакомится с Adobe Animate вы можете с помощью множества статей и видеоуроков в сети.
После внесения необходимых изменений в файл GIU вам нужно сохранить его в формате .swf, для дальнейшего импорта в REDkit. Для этого в Adobe Animate выберите "Файл > Параметры публикации... (Ctrl+Shift+F12)"
Если вы нажмете "Опубликовать" (и делаете это впервые), то получите сообщение, что указанный путь не найден, поэтому сначала нужно выполнить сheckout файла .swf, который уже существует в Depot и который вы будете заменять своим отредактированным файлом.
Путь к соответствующему файлу .swf можно узнать в окне публикации в месте, гду казано "Имя вывода:". Данный путь является относительным и по сути ведет к файлу в папке "gameplay > gui_new > sfw > путь к файлу". После сheckout нужного файла, нажмите кнопку "Опубликовать" в Adobe Animate и новый файл .swf заменит имеющийся в папке проекта.
Последним шагов для внедрение вашего GUI в игру, является преобразования файла .swf в формат .redswf.
Для этого просто нажмите правой кнопкой на файл с расширением .redswf, который имеет то же имя и расположен в той же папке, что и ваш файл .swf. В открывшемся меню, выберите "Import > Flash SWF" и выберете ваш файл .swf для импорта и нажимайте кнопки согласия во всех всплывающих окнах.
По окончанию процесса импорта вы можете запустить игру, вызвать низменный элемент GUI и убедится в том, что изменения вступили в силу.
Редактирование GUI не ограничиваются визуальными правками и, например, добавив новый индикатор отслеживания состояния игрока, вам нужно также добиться его взаимодействия с кодом игры.
Как и было сказано выше, для файлы GUI взаимодействуют с игрой посредством файлов скриптов и влияние на поведение визуальных элементов, осуществляется через редактирование этих файлов или создание новых.
Подобное взаимодействие лучше всего рассматривать на конкретном примере, что и будет сделано в прочих уроках данного раздела.