Для начала давайте переименуем нашу сцену и назовем ее просто Game. Далее создадим новую сцену и назовем ее Title Scene. Итак, у нас получилась пустая сцена.
Теперь создаем новый текстовый объект.
Добавляем этот текстовый объект на сцену.
Продублируем наш объект и внесем следующие изменения.
И добавляем этот объект также на сцену.
Далее создадим новый объект в виде кнопки.
Выберем этот вариант
Также добавляем ее на экран.
Два раза щелкнем по кнопке, чтобы открыть ее настройки.
И здесь уже очень много настроек. Давайте разберемся с ними по порядку.
Hovered fade out duration – Когда вы еще не навели курсор на кнопку она имеет цвет состояния Idle, но когда вы наводите курсор на кнопку, то она переходит в состояние Hovered. Убрав курсор с кнопки, цвет должен снова перейти в состояние Idle, и эта настройка контролирует как долго должен происходить смена цвета с Hovered к Idle;
Label offset on Y axis when pressed – смещение текста (!) вниз или вверх при нажатие на кнопку;
В разделе Padding мы настраиваем отступы от текста до краев кнопки;
Далее идут стандартные настройки текстового объекта:
Затем следует настройка состояния Idle:
Здесь мы можем изменить картинку кнопки. Если кнопка будет растягиваться из-за длины текста то параметр Repeat borders and center textures будет копировать небольшие участки картинки с границей и фоном, чтобы не растягивать всю картинку.
C Margin чуточку сложней. С помощью нее вы можете настроить размер элементов кнопки, которые должны повторяться при растягивании. Любая картинку кнопки GDevelop нарезает на 9 частей.
Из этих частей не повторяются только 1, 3, 7 и 9 квадраты. Top Margin задает размер 2 прямоугольнику, Botton Margin 8 прямоугольнику, а Left и Right соответственно 4 и 6 прямоугольникам.
Если вы растягиваете кнопку в высоту, то начинают повторятся 4, 5 и 6 прямоугольники, если растягиваете в ширину то повторяются 2,5 и 8 прямоугольники.
Я оставлю стандартные настройки, только изменю текст на Play, сделаю его жирным и укажу выравнивание по центру.
Чтобы стартовый экран не был таким скучным, давайте добавим анимацию в виде движущегося блока. Создаем новый спрайтовый объект c именем RedSquare (Красный квадрат) и открываем Piskel.
После создания и сохрание спрайта в Piskel, добавьте этому новому объекту поведение встряхивание (Shake Object) в разделе Search New Behaviours.
После установки этого поведения, выберем его.
У данного поведения нет параметров, так что просто его добаляем.
Теперь располагаем новые объекты так.
С помощью зажатой кнопки Shift я пропорционально увеличил, м с помощью зажатой кнопки Ctrl смог продублировать объект.
Теперь добавим им анимацию трясения через события.
Проверяем. Все должно заработать:)
Теперь я хочу добавить еще текст в наше стартовое меню.
И расположим его так.
Далее обведем эти слова небольшим контуром.
Также давайте сделаем так, чтобы этот текст двигался вверх и вниз.
Параметры указываем такие.
Можете проверить, все должно заработать.
Теперь мы должны сделать так, чтобы при нажатии кнопки, мы переносились на первый уровень.
Далее я хочу добавить звуки при наведении и клике по кнопке, и чтобы эти события работали один раз.
Вроде все работает, но мне не нравится резкий переход к игре при нажатии кнопки.
Давайте добавим плавный переход. Для этого нам надо добавить новое расширение.
Теперь создадим новый объект Shape Painter. Назовем его Shape Painter и добавим в поведение наше расширение.
Перемещю его сюда.
Теперь идем в события и назначаем объекту transition такое действие.
Также укажем, чтобы при срабатывания анимации сцена переключилась на одну секунду позже.
Теперь я хочу чтобы такой эффект был и у сцены с самой игрой только в обратном направлении. Чтобы использовать объект и в других сценах, надо сделать его глобальным.
Теперь добавим этот эффект в сцену.
Настало время создать финальную сцену. Просто продублируем стартовую цену и назовем ее Final Scene.
Далее удалим там ненужные нам объекты, а на кнопку повесим событие выхода из игры.
Далее, я хочу добавить логотип, допустим нашей студии. Картинку я просто скачал в интернете и добавил в игру как объект спрайт.
Теперь я хочу, чтобы при нажатии на логотип, пользователи переходили на сайт моей студии. Проблема в том, что логотип не является кнопкой, но мы можем добавить поведение кнопки.
Для начала нам необходимо отредактировать расширение кнопки.
Откроется такое окно.
Подробнее о редактировании расширений мы поговорим чуть позже, когда будем создавать свои расширения. А пока просто сделайте поведение ButtonFSM публичным.
Теперь это поведение доступно для добавления в объекты.
Теперь добавим событие при нажатии на логотип. Условие будет таким:
А действие будет таким:
Проверяем, все должно заработать:)
Теперь мы должны связать конечный экран с нашей игрой.
B последний этап, что нам надо сделать – это опубликовать игру!
Нажимаем на кнопку “Publish”.
Откроется такое окно:
Здесь мы можем опубликовать игру на сате gd.games, или на другие платформы.
Нажмем на кнопку “Export to other platforms”. Откроется такое окно, где можно выбрать как мы хотим экспортировать игру – как веб-приложение, для смартфонов, на компьютеры, или просто как архив.
Если вы экспортируете игру как веб-приложение, то вам необходимо будет добавить папку с игрой на сервер, иначе игра не будет работать.