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
— Поведение, которое нужно найти.