Перейти к основному содержанию

behaviors


behaviors

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

  • Движение (или поиск пути)
  • Есть здоровье
  • Стрелок

Вы также можете определять пользовательские поля в любом из поведений. Они будут появляться в шаблонах и комнатах в качестве дополнительных панелей свойств в их настройках после добавления поведений в эти ассеты. По сути, с помощью этих полей вы создаёте графический интерфейс для шаблонов и комнат, что отлично подходит для дизайнеров! Например, добавление этих полей в поведения сделает их более универсальными и сэкономит ваше время:

  • Поведение движения может включать поле для скорости и, например, чекбокс для летающих персонажей, игнорирующих затраты на движение;
  • Система здоровья будет иметь параметр максимального здоровья и может иметь чекбоксы или другие поля, чтобы указать, получают ли копии урон от снарядов врагов или от снарядов игрока. Это позволит использовать одно и то же поведение для игрового персонажа, врагов, NPC и статичных преград!
  • Поведение, ответственное за создание снарядов, может предоставить поля для настройки интервала стрельбы, диапазона минимального и максимального урона и шаблона, используемого для созданных снарядов.

Любое свойство, определенное в полях поведения, станет свойством конечной копии (или комнаты) и будет доступно как this.названиеПоля. В Котомяте поля поведений отображаются в категории «Свойства».

Поведения и перечисления

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

Добавление поведений в ходе игры

Ct.js позволяет динамически добавлять и удалять поведение, созданные в ct.IDE, непосредственно во время выполнения игры. Вы можете использовать его, например, для переключения поведения врага-босса при смене этапов, добавления или удаления функциональности при активации или деактивации элементов интерфейса и многих других задач.

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

Вы можете обойти статические поведения, добавив свои собственные свойства и операторы if для управления выполнением поведения. В противном случае вы можете использовать методы ниже ⬇️

Методы API «behaviors»

behaviors.add(target, behaviorName)

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

  • target — Комната или шаблон, к которому необходимо добавить поведение.
  • behavior — Имя поведения, которое нужно добавить, как оно было названо в ct.IDE.

behaviors.remove(target, behaviorName)

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

  • target — Комната или шаблон, из которого необходимо удалить поведение.
  • behavior — Название поведения, которое необходимо удалить, такое же, как и в ct.IDE.

behaviors.has(target, behaviorName): boolean

Указывает, имеет ли указанный объект примененное к нему поведение.

  • target — Комната или копия для тестирования.
  • behavior — Поведение, которое нужно найти.