Часть 6: Добавление врагов | hyperPad Documentation

Loading...

Logo

Введение

Теперь, когда у вас есть коллекционные монеты в вашей игре, пора добавить немного препятствий, чтобы создать вызов для игрока.

Эта часть руководства основана на Части 5, которая предполагает, что у вас есть управляемый персонаж, коллекционные монеты и базовое понимание добавления объектов в вашу сцену, системы поведения и коллизий.

Ваш первый враг

В библиотеке активов вернитесь к "Пакету стартовых платформ", который вы загрузили на предыдущем шаге, и выберите Розовую Слизь, затем добавьте анимацию "Движение" в док.

enemyAsset.png

После того, как Розовая Слизь добавлена в ваш док, перетащите её из дока и разместите в вашей сцене.

EnemyinScene.png

Нажмите на слизь, которую вы только что добавили в сцену, чтобы открыть Свойства объекта, затем установите её как Физический объект.

enemyPhysics.png

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

Enemycollision.png

Теперь нам нужно, чтобы враг патрулировал путь. Для этого перейдите к поведению слизи. Из категории Объект добавьте поведение "Патруль".

patrol.png

Затем из Свойств поведения вы можете установить, как далеко слизь должна двигаться и сколько времени потребуется, чтобы достичь желаемого пункта назначения.

В разделе "Движение" значение X - это насколько враг будет двигаться вдоль оси X (влево или вправо). Отрицательное число указывает на движение влево, положительное число указывает на движение вправо.

Мы оставим значение по умолчанию (-6) на данный момент. Но вы можете изменить это в зависимости от вашей сцены и того, насколько далеко вы хотите, чтобы враг двигался.

PatrolProperties.png

Чтобы замедлить скорость врага, мы изменим длительность на 2 секунды. Это означает, что на движение на -6 метров потребуется 2 секунды.

patrolDuration.png

Уничтожение врага

Чтобы уничтожить врага, мы будем использовать систему тегов в hyperPad. Теги позволяют вам ссылаться на несколько объектов без необходимости добавлять дополнительные поведения для каждого объекта. В этой ситуации теги помогут нам, так как нужно будет добавить поведения только для одного врага, и это автоматически будет работать для любого нового врага с тем же тегом. Вы можете узнать больше о тегах здесь: Теги объектов и Применение поведения к объектам с тегами.

Итак, давайте начнем с того, чтобы проставить тег нашей Розовой Слизи. Сначала выйдите из редактора поведения и вернитесь в главный редактор. Затем выберите Розовую Слизь, чтобы увидеть свойства объекта.

Снизу в свойствах объекта выберите вкладку "Теги" (это последняя вкладка внизу).

Чтобы добавить тег, введите имя в верхнем поле поиска. Убедитесь, что вы выбираете теги, которые легко запомнить. Для этого учебника мы просто будем использовать тег "Враг". Затем нажмите на кнопку +, чтобы добавить тег.

enemyTag.png

Теперь мы можем перейти к добавлению наших поведений. На этот раз выберите игрового персонажа и НЕ врага. Затем откройте поведения для игрового персонажа.

playerProperties.png

Из категории Объект добавьте поведение "Коллизия", затем выберите его, чтобы просмотреть свойства поведения.

playerCollided.png

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

CollidedProperties.png

Затем внизу свойств поведения переключитесь на вкладку Теги. Затем выберите тег Враг, который мы добавили ранее. Зеленая точка рядом с тегом означает, что он выбран и активен. Теперь, вместо того, чтобы срабатывать на событие при касании конкретного врага, он будет срабатывать на событие при касании верхней части любого объекта, который имеет тег врага.

CollidedTag.png

Теперь из категории Объект добавьте поведение "Отключить объект" и соедините его с коллизией, это остановит врага от патрулирования и взаимодействия.

Destroy.png

Снова измените его так, чтобы он затрагивал только тег Враг. Поскольку как коллизия, так и отключение объекта имеют одинаковый тег, только конкретно коллизировавший объект будет отключен, а не все другие объекты с тем же тегом.

Destroy_Tag.png

Следующим шагом, чтобы сделать игру немного более эффектной, мы заставим врага выглядеть иначе, когда его топчут. Добавьте поведение "Проиграть анимацию" из категории FX и соедините его с отключением объекта.

playAnimation.png

Затем нажмите на область, где написано "Выберите анимацию". Перейдите к розовой слизи в библиотеке активов и выберите анимацию "Удар".

PlayAnimationProperties.png

Снова измените поведение так, чтобы оно затрагивало только объекты с тегом Враг.

tag.png

Далее добавьте поведение ожидания и соедините его с поведением отключения объекта (рядом с проигрыванием анимации) и установите его на очень короткое время, например 0,25 секунды.

wait.png

Наконец, добавьте поведение "Уничтожить объект" из категории объектов и соедините его с ожидаемым поведением, которое вы добавили ранее. Затем снова установите его на тег Враг. (Обратите внимание, на изображении ниже отключение было переименовано в "8")

И это всё! Теперь у вас есть враг, которого можно уничтожить.

destroy.png

Создание вызова

Теперь пора заставить врага иметь возможность уничтожать вас и заканчивать игру.

Находясь всё еще в поведениях игрока, добавьте новое поведение коллизии. На этот раз в свойствах поведения коллизии просто выключите переключатель "Сверху". И снова убедитесь, что выбран тег врага.

collided2.png

Затем добавьте поведение "Уничтожить объект" и соедините его с коллизией. Поскольку вы находитесь в поведениях игрока, он автоматически настроен на уничтожение игрока.

destroyPlayer.png

Наконец, добавьте поведение "Загрузить наложение" из категории Сцена и соедините его с поведением уничтожения объекта, которое вы добавили ранее.

loadOverlay.png

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

В свойствах поведения загрузки наложения нажмите "Выбрать наложение". Затем из появившегося списка выберите предусмотренное hyperPad наложение "Конец игры".

gameOver.png

И это всё! Теперь, когда вы столкнетесь с вашим врагом, игрок исчезнет, и экран конца игры появится, позволяя вам перезапустить сцену.

На этом этапе вы можете добавить больше врагов в ваш уровень. Просто убедитесь, что вы назначаете им тег Враг.