Не устали от бесконечных интерфейсных "свистелок", которыми я наводняю журнал? Если нет, тогда можете налить себе чашечку чая, усесться поудобнее на своем стуле, расслабить ум и раскрепостить свою фантазию... Ведь сегодня я хотел бы рассказать о грандиозных планах и небольших продвижениях в разработке gui-элементов. С одной стороны - очень увлекательно создавать интерактивные элементы, которые красиво подсвечиваются, элегантно анимируются и смешно подпрыгивают. С другой - при разработке нужно руководствоваться не только эстетическими соображениями в рамках одной демки, но и представлять, как я бы смог использовать те или иные элементы в дальнейшем. Поэтому сегодня будут только текст плюс картинки, никакого кода или демок.
| ![]() |
Переходя от одной демки к другой, я понял, что на самом деле я мало уделяю внимания практической стороне использования каждого элемента. И теперь я хочу заострить внимание именно на этом!
Интерфейс может стать целой игрой
Мало кто представляет, что зачастую встречаются игры, которые на самом деле являются комбинацией интерфейсных примочек. Возьмем ХОГ-игру, по сути обычный драг&дроп, отработка кликов по картинкам, проигрывание простых анимаций. А ведь качественная ХОГ-игра приносит разработчикам хорошие деньги. Именно поэтому я считаю, что интерфейсные механизмы должны быть максимально расширяемыми. Если это потенциально может принести неплохую прибыль - может стоит посидеть и реализовать все удобно?!
Включив воображение, становится ясно, что обычная кнопка может стать игровым объектом, запрятанным на поле: кликнули на него, сработало событие, посыпались искорки. А механизм драг&дропа можем прикрутить к игре, где нужно расставлять шестеренки по местам. Добавили пины-таргеты, куда можно установить ту или иную шестеренку, добавили сами шестеренки-объекты и запустили метод Update() у DragAndDropManager'а! Останется только соединять шестернки в одну цепь и крутить их все, когда это необходимо.
Именно поэтому я и начал эту линейку гуи-элементов, которые собираю здесь, в журнале. Цель у меня одна - сделать мою жизнь, а также жизнь других разработчиков игр более комфортной, избавив голову от очередной головной боли. В этом случае можно сосредоточиться на наиболее важной составляющей игры - геймплее, игровом процессе, который должен увлекать игрока с первой же минуты!
Кнопки
В итоге, посмотрев свежим взглядом на текущие наработки, я понял, что мне катастрофически не хватает нормальных кнопок. Даже для самых простых операций - навигация между слайдами, запуск какой-нибудь анимации, переходы между страницами меню и так далее. В итоге я решил добавить более "осознанные" кнопки, нежели TSimpleButton (демка для который, кстати, уже имеется в нашем арсенале). Но для начала я решил порисовать арт к этим контролам. Начал с кнопок навигации, вправо-влево-вверх вниз, спокойное и активное состояние получились такими:
Также решил нарисовать обычную кнопку. Переход между состояниями планируется с помощью изменения прозрачности. Навели мышь - и альфа второй картинки начинает увеличиваться, кнопка плавно подсвечивается. Должно быть красиво :)
А вот и картинка будущей кнопки:
Для разнообразия решил нарисовать спрайт для кнопки, активное состояние которой будет выделяться размером. То есть навели мышь - и картинка кнопки немного увеличились в размерах, раздулась; убрали мышь и кнопка вернулась в прежнее состояние. В итоге нарисовал вот такое чудо:
На последок решил нарисовать еще одну кнопку с простой анимацией перехода через прозрачность. Не знаю, где она может пригодиться, но раз рука решила нарисовать, значит пусть так и будет
Tracker/Progress Bar
Также в жизни, для быстрой разработки демок очень нужны трекеры для тюнинга различных параметров: будь то физические настройки объектов, например плотность воды в одной из наших физических демонстраций, или же позиция тех или иных спрайтов, например положение хинтов на экране. В общем, вещь полезная и нужная в хозяйстве.
Нарисовалось вот такое:
Эдакий футур-стиль откуда-то вырвался, надеюсь впишется куда-нибудь.
В общем, рисую контент для будущих демок, а этот процесс занимает немало времени, честное слово! :)
В общем, рисую контент для будущих демок, а этот процесс занимает немало времени, честное слово! :)
Заключение
Наверно, уважаемый читатель, твой чай уже допился, или же работа в виде начальника дает о себе знать, а может стопка учебников по предстоящим контрольным пылится на краю стола? Не буду больше задерживать, а только намекну, что скоро все вышепредставленные картинки начнут оживать сначала у меня на экране, а потом в виде демок разлетятся ко всем, кому это интересно!