Скачивать файлы могут, только зарегистрированные !
ScirraConstruct
Меню сайта
Форма входа
Категории раздела
Cтатьи [7]
Главная » Статьи » Cтатьи

Создаем платформер за 5 минут (часть 4 )

Создаем платформер за 5 минут

Рис. 42 — Actions for 'character' (Действия для объекта 'character').

Далее в появившемся окне нажмите на большую кнопку с надписью Pick an Object (Указать объект). Смотрите рис. 43.

Создаем платформер за 5 минут

Рис. 43 — Object to set position to (Объект, относительно которого установить позицию).

Откроется новое окно Select object (Выбрать объект), где вам нужно указать к какому конкретно объекту будет привязан спрайт главного героя. Следовательно выбираем спрайтbasisСмотрите рис. 44.

Создаем платформер за 5 минут

Рис. 44 — Select object (Выберите объект).

Жмем ОК и затем Finish. Если вы все сделали правильно, то у вас должно получится точно такое же событие, как на рис. 45.

Создаем платформер за 5 минут

Рис. 45 — События группы Character.

Итак, вы создали первое событие, в котором персонаж всегда привязан к спрайту basis. Проверить, работает ли оно, можно запустив игру — в самом верху на главной панели команд во вкладке Project (Проект) нажмите на большую кнопку Run layout (Запустить уровень). Смотрите рис. 46.

Создаем платформер за 5 минут

Рис. 46 — Run layout (Запустить уровень).

Если вы не включали в свойствах параметр Fullscreen (Полный экран), то игра запустится в оконном режиме, и вы сможете наблюдать за количеством FPS и загруженностью видеопамяти VRAMСмотрите рис. 47 (масштаб изображения уменьшен на 50%).

Создаем платформер за 5 минут

Рис. 47 — Игра в оконном режиме.

Нажимая стрелки влево и вправо на клавиатуре, вы увидите, как ваш персонаж будет перемещаться по уровню. На самом деле, перемещается спрайт basis, а персонаж лишь привязан к нему. Сейчас при движении у персонажа анимация не проигрывается, т. к. мы еще не добавили необходимые события. Следующим шагом станет создание событий, которые будут воспроизводить нужную анимацию персонажа при движении.

Закройте игру (если вы находитесь в полноэкранном режиме, то для выхода из игры нажмитеAlt+F4, перейдите в Layout Editor (Редактор уровня) и добавьте новый объект Mouse & Keyboard (Мышь и Клавиатура). Объект должен появится на панели Objects (Объекты) в списке рядом с другими объектами. Смотрите рис. 48.

Создаем платформер за 5 минут

Рис. 48 — Список объектов.

Теперь создадим событие, при котором наш персонаж сможет поворачиваться строго в ту сторону, в которую мы движемся. Для этого возвращаемся обратно в Event Sheet Editor (Редактор событий) и создаем новое условие — кликаем ЛКМ по надписи New event to: Character (Добавить новое событие) и в открывшемся окне выбираем объект Mouse & Keyboard (Мышь и Клавиатура). Далее ищем строку Key is down? (Клавиша зажата), кликаем на нее и в списке выбираем клавишу Left arrow (Стрелка влево). Смотрите рис. 49.

Создаем платформер за 5 минут

Рис. 49 — Key to check if down (Зажата ли клавиша).

Жмем Finish (Завершить), и у нас появляется новое условие. Напротив него создаем действие кликнув ЛКМ по надписи New action (Новое действие). В открывшемся окне выбираем спрайт персонажа, далее ищем строку Set angle (Задать угол), кликаем на ней и переходим дальше. В следующем окне мы видим поле для ввода текста со значением — это значение угла. Вверху есть подсказка, в которой написано New angle, in degrees 0-360 (Новый угол, в градусах 0-360). Смотрите рис. 50.

Создаем платформер за 5 минут

Рис. 50 — Set angle (Задать угол).

Нашей задачей сейчас является создание события, в котором при нажатии на клавишу стрелки влево (на клавиатуре) наш персонаж поворачивался бы в этом же направлении. Это можно сделать, поняв один простой принцип — дело в том, что в программе Construct каждый спрайт по умолчанию имеет значение угла равное 0, при этом само направление угла смотрит вправо. Смотрите рис. 51.

Создаем платформер за 5 минут

Рис. 51 — Схема направлений угла (0-360 градусов).

Поэтому для того, чтобы при движении влево персонаж смотрел в этом направлении, нам нужно вместо 0 вписать значение 180. Нажимаем Finish, и у вас должно получится так же, как на рисунке 52.

Создаем платформер за 5 минут

Рис. 52 — События группы Character.

Теперь создайте еще одно точно такое же событие, только в условии вместо клавиши Left arrow (Стрелка влево), выберите Right arrow (Стрелка вправо), а в действии вместо 180 градусов, укажите 0. В итоге у вас должно получится как на рис. 53.

Создаем платформер за 5 минут

Рис. 53 — События группы Character.

Примечание: вам необязательно создавать событие заново, достаточно скопировать его, перетащив ЛКМ и удерживая клавишу Control. А затем просто изменить в нем необходимые параметры (кликая 2 раза ЛКМ по надписям в событии).

Теперь, когда мы будем двигать героя вправо, его взгляд тоже будет направлен в правую сторону, но, если вы сейчас запустите игру и нажмете стрелку влево, то увидите ошибку! Персонаж будет менять направление, но при этом сам будет переворачиваться вверх тормашками, потому что мы создали событие, в котором мы переворачиваем нашего персонажа на 180 градусов. Для того, чтобы спрайт отображался корректно, перейдите вLayout Editor (Редактор уровня), выделите персонажа и в его свойствах найдите вкладкуAngle (Угол) и установите галочку напротив опции Auto mirror (Автоматическое отражение). Смотрите рис. 54.

Создаем платформер за 5 минут

Рис. 54 — Auto mirror (Автоматическое отражение).

Теперь запустите игру и нажмите стрелку влево — спрайт персонажа отразится в противоположном направлении. Смотрите рис. 55.

Создаем платформер за 5 минут

Рис. 55 — Движение влево.

Примечание: у данного метода есть один недостаток, из-за того, что мы включаем отражение, при смене направления происходит отражение рисунка и некоторые детали могут выглядеть не вполне правильно. Это хорошо заметно на логотипе Construct, который располагается на груди персонажа. Когда мы двигаемся вправо, то шестеренка выглядит корректно, а когда влево — она отражается, и логотип повернут в противоположную сторону. Поэтому данный способ лучше применять на персонажах, чье тело симметрично и при отражении выглядит одинаково во всех направлениях. В данном случае выход тоже имеется — создать дополнительные кадры, в которых персонаж имеет заранее отрисованную анимацию в двух направлениях. Но тогда следует учитывать, что количество анимаций будет увеличено вдвое, и это может отрицательно сказаться на производительности игр, где присутствует большое количество объектов.

Далее нам нужно оживить персонажа, чтобы при движении у него воспроизводилась анимация. Для этого перейдите в Event Sheet Editor (Редактор событий) и в группеCharacter создайте новое событие, в окне New condition (Новое условие) выберите спрайтbasis, далее перейдите во вкладку Platform и в списке условий выберите Is on ground (На земле) и Finish (Завершить). Смотрите рис. 56.

Создаем платформер за 5 минут

Рис. 56 — Вкладка Platform.

Теперь добавим под-событие — на созданном вами событии кликните ПКМ на надписи Is on ground и в открывшемся списке выберите команду Insert sub-event (Вставить под-событие).Смотрите рис. 57.

Создаем платформер за 5 минут

Рис. 57 — Insert sub-event (Вставить под-событие).

В списке объектов снова выберите спрайт basis и, зайдя во вкладку Platform, выберите команду Is moving (Движется). В итоге у вас должны получиться событие и под-событие.Смотрите рис. 58.

Создаем платформер за 5 минут

Рис. 58 — Событие и под-событие.

Теперь напротив под-события создайте действие — выберите персонажа, затем найдите действие Set animation (Установить анимацию), в поле ввода с заголовком Name (Имя)впишите в кавычках (' ') имя анимации, которая должна воспроизводиться при движении персонажа (в данном случае анимация 'moving'). Смотрите рис. 59.

Создаем платформер за 5 минут

Рис. 59 — Set animation (Установить анимацию).

Теперь удерживая Control, скопируйте под-событие еще раз. Затем на условии Is moving (Движется) нажмите ПКМ и в открывшемся списке выберите команду Invert condition (Инвертировать условие). Смотрите рис. 60.

Создаем платформер за 5 минут

Рис. 60 — Invert condition (Инвертировать условие).

Напротив инвертированного условия нам нужно немного подкорректировать действие. В строке Set animation to (Установить анимацию) кликаем ЛКМ по надписи 'moving' и вместо нее вписываем другую анимацию с названием 'standing', нажимаем EnterСмотрите рис. 61.

Создаем платформер за 5 минут

Рис. 61 — Редактирование действия Set animation (Установить анимацию).

Итак, мы создали событие, в котором есть еще два параллельных под-события. В первом мы задали условие, что когда персонаж движется, то воспроизводится анимация бега. Во втором под-событии мы инвертировали условие и получилось, что когда главный герой стоит на месте (не движется) — воспроизводится анимация стойки.
Запустите игру и, нажимая на клавиатуре стрелки влево и вправо, побегайте персонажем. При движении будет воспроизводиться анимация бега (смотрите рис. 62), а при отсутствии движения персонаж будет становится в стойку.

Создаем платформер за 5 минут

Автор статьи: Edison

Рис. 62 — Анимация бега.
Категория: Cтатьи | Добавил: RomanStasyshyn (27.12.2011)
Просмотров: 674 | Комментарии: 1 | Рейтинг: 1.0/1
Всего комментариев: 1
1 nigorgrischenko  
0
Наша группа в 7_ВК: vk.com/scclassic

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск
Наш опрос
Оцените сайт
Всего ответов: 61
Чат
Copyright MyCorp © 2025Сделать бесплатный сайт с uCoz