Шаг 1. Настройка приложения и фона кадра
Создайте новое приложение. На вкладке Application Properties > Window tab измените размер окна приложения на 480 х 864 пикселей и нажмите «Да» в диалоговом окне, чтобы соответственно изменить размер кадра 1.
Примечание. Мы используем этот несколько необычный размер, чтобы наша игра могла использовать несколько коэффициентов масштабирования. Позже, в зависимости от того, в какой среде выполнения мы будем создавать приложение, мы просто изменим высоту окна приложения, оставив размер кадра 1 без изменений.
Дважды щелкните по кадру 1, чтобы открыть редактор кадров. Затем из окна библиотеки откройте «Local Library»> «Tutorials»> «Faulty Flap Library». Найдите объект под названием horizon.Active и перетащите его в рамку в координатах (0,448).
Затем на вкладке Frame Properties > Settings установите цвет фона в RGB = 60, 188, 252, чтобы он соответствовал цвету неба горизонта. Используйте функцию выбора цвета (пипетку), чтобы упростить эту задачу.
Примечание. На панели инструментов редактора кадров установите сетку 8 x 8 и включите привязку. Это поможет вам позиционировать объекты.
Примечание. Координаты верхнего левого угла текущего выбранного объекта отображаются в строке состояния.
Ваш фрейм должен выглядеть так:
Шаг 2. Добавление птицы и первых событий
В Frame Editor > Layers Toolbar создайте новый слой и выберите его. Из окна библиотеки перетащите птицу. Активируйте в кадре в координатах (148, 326).
Это активный объект, ему присваивается движение Bouncing Ball Move с начальным направлением 24 (вниз) и начальной скоростью 0.
Примечание. Новый слой 2, который мы создали, будет содержать объекты, с которыми мы будем выполнять тесты коллизий.
Объекты, расположенные на разных слоях, не могут сталкиваться друг с другом.
Примечание. Координаты активного объекта отображаются на вкладке Object Properties > Size / Position tab.
Ваш фрейм должен выглядеть так:
Запустите приложение и обратите внимание, как птица хлопает крыльями, но не двигается.
Давайте научим птицу первому прыжку. В редакторе списка событий вставьте группу событий под названием Game.Play и добавьте в нее следующие события:
Что происходит в этих событиях? Когда игрок щелкает или дважды щелкает левой кнопкой мыши, то мы заставляем птицу двигаться вверх, устанавливая ее направление, скорость и замедление.
Примечание. Чтобы вставить группу событий, щелкните правой кнопкой мыши по нумерованной ячейке в списке событий и выберите Insert > A group of events.
Примечание. По умолчанию редактор списка событий отображает только значок объектов. Чтобы отобразить их имя, в главном меню выберите Tools > Preferences > Event List Editor и выберите Object's name.
А теперь давайте научим птицу падать. Вставьте еще одну группу событий под названием bird.Active. Переместите эту группу после группы Game.Play. Затем добавьте в неё следующие события:
Что происходит в этих событиях? Когда восходящее движение птицы закончено (т. е. когда скорость достигает 0), мы просто вынуждаем её двигаться вниз, устанавливая её направление на 24(вниз).
И пока птица движется вниз (то есть, пока игрок не кликнул левой кнопкой и заставил её двигаться вверх), мы увеличиваем скорость на 10 каждые 5 сотых секунды. Фактически мы воспроизводим ускорение.
Запустите приложение и обратите внимание, как птица прыгает и падает динамически.
Примечание. Мы используем две группы событий, связанных с птицей. Это связано с тем, что позже мы деактивируем прыжок птицы (управление игроком) и птица будет падать независимо.
Как только запускается приложение, то птица начинает падать. Мы должны предоставить игроку момент, чтобы подготовиться, другими словами, нам нужно введение в игру.
В редакторе списка событий снимите флажок Активно с обоих существующих групп событий. Это гарантирует, что птица не будет двигаться с самого начала.
Затем вставьте новую группу событий под названием Game.Intro и оставьте активным, если приложение запущено. Переместите эту группу в начало списка событий.
Теперь добавьте следующее событие в группу Game.Intro:
Затем добавьте следующее событие в группу Game.Play:
Что происходит в этих событиях? Когда игрок нажимает на левую кнопку мыши, активируется группа Game.Play, которая имеет дело с прыжком птицы. И как только группа Game.Play активируется, bird.Active группа, которая имеет дело с падением птицы, активируется поочередно.
Фактически обе группы событий могут быть активированы одним и тем же событием. Но делать это таким образом является хорошей программерской привычкой по двум причинам. Во-первых, потому что мы следуем логическому «игровому потоку», где Game.Intro деактивирует себя одновременно с активацией Game.Play. Во-вторых, потому что это будет полезно позже, если вы захотите реализовать систему пауз, где Game.Play активирует bird.Active и Game.Pause деактивирует его.
Запустите приложение и обратите внимание, что птица не будет двигаться, пока вы не щелкнете левой кнопкой мыши.
Продолжение урока увидите в следующих постах!