Поведения объектов в Construct 2

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

 

Итак, говоря простым языком, поведение — это определенный набор функций и свойств объекта. Стандартных поведений в программе достаточно много. Одни предназначены для перемещения объектов, другие для каких-либо визуальный эффектов, третьи для системных функций и так далее. Главное, что они позволяют значительно упростить процесс разработки игры, ведь пользователю не придется самостоятельно придумывать чересчур сложные механизмы.

 

Добавление поведения к объекту

Для добавления поведения выделяем объект, после чего в окне параметров нажимаем на Behaviors.

Поведения в Construct2 (скриншот 1)

Появится небольшое окно, в котором отображаются все добавленные поведения к данному объекту.

Сейчас тут ничего нет. Нажимаем на плюсик (Add new).

Поведения в Construct2 (скриншот 2)

Откроется список доступных поведений для объекта. Выбираем нужное и нажимаем на кнопку Add.

Поведения в Construct2 (скриншот 3)

Поведение добавлено.

Поведения в Construct 2 (скриншот 4)

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

 

Поведения объектов

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

 

Поведение Jump-thru

Это поведение превращает объект (в примере ящик) в платформу, на которую персонаж может запрыгнуть, а также просто пройти мимо, то есть не является препятствием.

Доступные параметры поведения:

  • Initial state (начальное состояние): enabled (включено) / disabled (выключено)
Поведение NoSave

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

 

Поведение без дополнительных параметров.

 

Поведение Persist

Это поведение запоминает состояние объекта (монетки в примере справа) при переходе персонажа на другой макет и последующем возвращении обратно.

Поведения в Construct 2 (скриншот 6) Поведения в Construct 2 (скриншот 7)

Поведение без дополнительных параметров.

 

Поведение Shadow Caster

Это поведение позволяет объекту (в примере ящики) отбрасывать тени. Но при этом необходимо использовать один или несколько источников света (объект ShadowLight, закрепленный на ракете).

Поведения в Construct 2 (скриншот 8)

Доступные параметры поведения:

  • Initial state (начальное состояние): enabled (включено) / disabled (выключено)
  • Height: высота объекта, которая влияет на длину, отбрасываемой тени
  • Tag: тег (название) для теневого объекта
Поведение Solid

Это поведение превращает объект (в примере земля и ящики) в твердую платформу, по которой персонаж может передвигаться. Является препятствием, персонаж может идти такой платформе только сверху.

Поведения в Construct 2 (скриншот 9)

Доступные параметры поведения:

  • Initial state (начальное состояние): enabled (включено) / disabled (выключено)
Поведение Anchor

Это поведение необходимо для автоматического позиционирования объекта относительно размера экрана. Используется при разработке игры под экраны различных размеров.

 

Доступные параметры поведения:

  • Left edge (левый край): window feft (относительно левой границы) / window right (относительно правой границы) / none (не использовать)
  • Top edge (верхний край): window top (относительно верхней границы) / window bottom (относительно нижней границы) / none (не использовать)
  • Right edge (правый край): none (не использовать) / window right (относительно правой границы)
  • Bottom edge (нижний край): none (не использовать) / window bottom (относительно нижней границы)
  • Initial state (начальное состояние): enabled (включено) / disabled (выключено)
Поведение Bound to layout

Это поведение запрещает объекту (персонаж в примере слева) выходить за границы макета.

Поведения в Construct 2 (скриншот 6) Поведения в Construct 2 (скриншот 7)

Доступные параметры поведения:

  • Bound by (тип ограничения): edge (объект вообще не может выйти за границу макета) / origin (объект может немного выйти за пределы макета, до главной точки)
Поведение Destroy outside layout

Это поведение уничтожает объект, если он находится за пределами макета.

 

Поведение без дополнительных параметров.

 

Поведение Drag & Drop

Это поведение позволяет пользователю перетаскивать объекты с помощью мышки на компьютере или пальца на сенсорных экранах.

Поведения в Construct 2 (скриншот 12)

Доступные параметры поведения:

  • Axes (выбор оси): both (в любом направлении) / horizontal only (только по горизонтали) / vertical only (только по вертикали)
  • Initial state (начальное состояние): enabled (включено) / disabled (выключено)
Поведение Fade

Это поведение предназначено для скрытия и появления объекта за счет плавного изменения прозрачности.

Поведения в Construct 2 (скриншот 13)

Доступные параметры поведения:

  • Active at start (использовать при запуске уровня): yes (да) / no (нет)
  • Fade in time: изначально объект невидимый, появляется за указанное время (в секундах)
  • Wait time: время до исчезновения объекта (в секундах)
  • Fade out time: скорость исчезновения объекта (0 — объект не исчезает, 1 — максимальная скорость исчезновения, 2 — медленнее исчезает, и так далее)
  • Destroy (уничтожение объекта): after fade out (уничтожать после исчезновения) / no (нет)
Поведение Flash

Это поведение позволяет объекту определенное время мигать.

Поведения в Construct 2 (скриншот 14)

Поведение без дополнительных параметров.

 

Поведение Line Of Sight

Это поведение позволяет проверить, видит ли один объект (в примере красным монстр) другой, нет ли перед ним определенных препятствий.

Поведения в Construct 2 (скриншот 15)

Доступные параметры поведения:

  • Obstacles (препятствия): solids (твердые объекты) / custom (прочие объекты)
  • Range: максимальное расстояние прямой видимости объектов (в пикселях)
  • Cone of view (угол видимости объектов): указывается в градусах, 360 — видит объекты под любым углом
  • Use collision cells (использование маски столкновений объектов): yes (да) / no (нет)
Поведение Pin

Это поведение закрепляет первый объект (в примере летающий монстр) относительно второго объекта. Если второй объект будет перемещен, то и первый также переместится на то же расстояние.

Поведения в Construct 2 (скриншот 16)

Поведение без дополнительных параметров.

 

Поведение Scroll To

Это поведение является камерой. Оно всегда держит объект в центре экрана независимо от его перемещения.

Поведения в Construct 2 (скриншот 17)

Доступные параметры поведения:

  • Initial state (начальное состояние): enabled (включено) / disabled (выключено)
Поведение Timer

Это поведение добавляет объекту (в примере персонаж) возможности таймера: отсчитать время, выполнить через.

Поведения в Construct 2 (скриншот 18)

Поведение без дополнительных параметров.

 

Поведение Wrap

Это поведение перемещает объект, если он вышел за границы макета, в начало или конец макета, либо в начало или конец видимой части макета.

Поведения в Construct 2 (скриншот 19)

Доступные параметры поведения:

  • Wrap to (переместить к …): layout (к началу или концу макета) / viewport (к границе видимой части макета)
Поведение 8 Direction

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

Поведения в Construct 2 (скриншот 20)

Доступные параметры поведения:

  • Max speed: максимальная скорость (в пикселях на секунду)
  • Acceleration: ускорение объекта (в пикселях на секунду)
  • Deceleration: замедление объекта (в пикселях на секунду)
  • Directions (направления движения): 8 directions (вверх, вниз, вправо, влево и по диагоналям) / 4 directions (вверх, вниз, вправо, влево) / left & right (вправо и влево) /up & down (вверх и вниз)
  • Set angle (угол движение): 360 degree (плавно поворачивает объект в заданном направлении) / 45-degree intervals (объект поворачивается строго в восьми направлениях) / 90-degree intervals (объект поворачивается строго в четырех направлениях) / no (не поворачивать объект)
  • Default controls (стандартное управление): yes (да — стрелочками) / no (нет)
  • Initial state (начальное состояние): enabled (включено) / disabled (выключено)
Поведение Bullet

Это поведение наделяет объект свойствами пули (летит под определенным углом, при необходимости отскакивает, имеет тяжесть).

Поведения в Construct 2 (скриншот 21)

Доступные параметры поведения:

  • Speed: скорость полета пули (в пикселях на секунду)
  • Acceleration: ускорение полета пули (в пикселях на секунду)
  • Gravity: тяжесть пули, плавное снижение (в пикселях на секунду)
  • Bounce off solids (отскок от твердых предметов): no (нет) / yes (да)
  • Set angle (полет пули под заданным углом): yes (да) / no (нет)
  • Initial state (начальное состояние): enabled (включено) / disabled (выключено)
Поведение Car

Это поведение превращает объект в автомобиль. Появляется управляемость, ускорение, занос и прочие автомобильные характеристики.

Поведения в Construct 2 (скриншот 22)

Доступные параметры поведения:

  • Max speed: максимальная скорость автомобиля (в пикселях на секунду)
  • Acceleration: скорость ускорения до максимальной скорости автомобиля (в пикселях на секунду)
  • Deceleration: замедление, скорость торможения (в пикселях на секунду)
  • Steer speed: скорость поворота (вращения) автомобиля (в градусах на секунду)
  • Drift recover: степень заноса автомобиля (в градусах за секунду)
  • Friction: количество скорости, теряемой при столкновение с твердыми объектами (записывается от 0 до 1)
  • Set angle (поворот объекта под определенным углом): yes (да) / no (нет)
  • Default controls (стандартное управление): yes (да — стрелочками) / no (нет)
  • Initial state (начальное состояние): enabled (включено) / disabled (выключено)
Поведение Pathfinding

Данное поведение позволяет объекту (в примере синий человечек) находить кратчайший путь до другого объекта среди различных препятствий.

Поведения в Construct 2 (скриншот 28)

Доступные параметры поведения:

  • Cell size: размер ячеек (в пикселях) для поиска пути к объекту
  • Cell border: рамка ячейки поиска пути
  • Obstacles (препятствия для объекта): solids (твердые объекты) / custom (прочие объекты)
  • Max speed: максимальная скорость движения к найденному объекту (в пикселях на секунду)
  • Acceleration: ускорение объекта до максимальной скорости (в пикселях на секунду)
  • Deceleration: замедление персонажа (в пикселях на секунду)
  • Rotate speed: скорость поворота при движении (в градусах на секунду)
  • Rotate object (поворот объекта при движении): yes (да) / no (нет)
  • Diagonals (поиск пути по диагоналям): enabled (включено) / disabled (выключено)
  • Initial state (начальное состояние): enabled (включено) / disabled (выключено)
Поведенее Physics

Это поведение наделяет объект физическими свойствами. Один физический объект может взаимодействовать только с другим физическим объектом. Прочие поведения (например, Solid — твердые объекты) игнорируются.

Поведения в Construct 2 (скриншот 26)

Доступные параметры поведения:

  • Immovable (закрепить объект на конкретной позиции): yes (да) / no (нет)
  • Collision mask (маска столкновений): use collision polygon (использовать маску столкновений данного объекта) / Bounding box (прямоугольная маска столкновений) / Circle (круглая маска столкновений)
  • Prevent rotation (вращение физического объекта): yes (да) / no (нет)
  • Density: плотность объекта. Используется при расчете массы объекта (произведение плотности на площадь объекта)
  • Friction: коэффициент трения объектов (0 — нет трения, 1 — максимальное трение)
  • Elasticity: эластичность, пружинистость объекта (0 — не отскакивает, 1 — максимальное значение, при котором объект будет прыгать, как резиновый мячик).
  • Linear damping: линейное замедления объекта (0 — не замедляется, 1 — максимальное замедление)
  • Angular damping: угловое замедления объекта (0 — не замедляется, 1 — максимальное замедление)
  • Bullet (возможности пули): обнаружение столкновений для быстро движущихся объектов
  • Initial state (начальное состояние): enabled (включено) / disabled (выключено)
Поведение Platform

Данное поведение позволяет управлять объектом (в примере персонаж). В отличии от поведения 8 Direction, здесь необходимы твердые поверхности для передвижения.

Поведения в Construct 2 (скриншот 23)

Доступные параметры поведения:

  • Max speed: максимальная скорость (в пикселях на секунду)
  • Acceleration: ускорение объекта (в пикселях на секунду)
  • Deceleration: замедление объекта (в пикселях на секунду)
  • Jump strength: сила (высота) прыжка (в пикселях на секунду)
  • Gravity: сила тяжести, падение персонажа (в пикселях на секунду)
  • Max fall speed: максимальная скорость падения объекта (в пикселях на секунду)
  • Double jump: двойной прыжок (второй прыжок в воздухе, до приземления на платформу)
  • Jump sustain: количество миллисекунд, которые персонаж должен находится в прыжке до снижения (падения вниз)
  • Default controls (стандартное управление): yes (да — стрелочками) / no (нет)
  • Initial state (начальное состояние): enabled (включено) / disabled (выключено)
Поведение Rotate

Поведение, которое позволяет вращать объекты по часовой и против часовой стрелки.

Поведения в Construct 2 (скриншот 24)

Доступные параметры поведения:

  • Speed: скорость вращения объекта (в градусах на секунду)
  • Acceleration: ускорение вращения объекта
Поведение Sine

Это поведение, которое может двигать объект в одну и другую сторону, увеличивать и уменьшать размер, поворачивать и возвращать обратно, уменьшать и увеличивать прозрачность. То есть все выполняется по типу туда — обратно.

Поведения в Construct 2 (скриншот 25)

Доступные параметры поведения:

  • Active on start (активно при старте): yes (да) / no (нет).
  • Movement (тип): horizontal (горизонтальное движение) / vertical (вертикальное движение) / size (изменение размера) / width (изменение ширины) / height (изменение высоты) / angle (изменение угла) / opacity (изменение прозрачности) / value only (для создания пользовательских эффектов) / forwards — backwards (вперед и назад вдоль угла объекта).
  • Wave (расчет движения объекта): sine (плавное колебательное движение) / triangle (линейное возвратно-поступательное движение) / sawtooth (линейное движение с возвратом в начальную точку) / reverse sawtooth (линейное движение с возвратом в конечную точку) / square (перескок между начальной и конечной точкой).
  • Period: продолжительность (в секундах) одного цикла движения.
  • Period random: случайное число секунд, добавляемое к одному циклу движения.
  • Period offset: смещение цикла движения в секундах.
  • Period offset random: случайное число секунд, добавляемое к смещению цикла движения.
  • Magnitude (величина): максимальное изменение местоположения, размера или угла объекта.
  • Magnitude random: случайное значение, прибавляемое к максимальной величине.
Поведение Turret

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

Поведения в Construct 2 (скриншот 27)

Доступные параметры поведения:

  • Range: радиус действия, в котором турель видит объекты (в пикселях)
  • Rate of fire (скорострельность турели): количество выстрелов в секунду
  • Rotate (поворот турели): yes (да) / no (нет)
  • Rotate speed: скорость поворота турели (в градусах на секунду)
  • Target mode (выбор цели): first in range (первая цель, попавшая в радиус действия) / nearest (ближайшая цель к турели)
  • Predictive aim (прогностический выстрел, в место куда движется персонаж): yes (да) / no (нет)
  • Projectile speed: скорость полета снаряда (в пикселях на секунду)
  • Initial state (состояние): enabled (включено) / disabled (выключено)
  • Use collision cells (использование клеток столкновения): yes (да) / no (нет)

 

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