ct.inputs, ct.actions
ct.inputs, ct.actions
Этот модуль (ct.inputs
) позволяет управлять Действиями. Вы можете создавать новые действия во время игры, изменять или удалять их.
ct.actions
хранит существующие действия. Если вы создали действие Move
, то оно будет доступно как ct.actions.Move
. Каждое из действий является экземпляром класса JS CtAction
.
Вот пример использования действий в вашей игре:
/**
* Move the copy around.
* See Settings > Edit actions panel
* and "Actions" in the docs.
*/
this.hspeed = 8 * ct.actions.MoveX.value; // Move by X axis
this.vspeed = 8 * ct.actions.MoveY.value; // Move by Y axis
if (ct.actions.Shoot.pressed) {
ct.types.copy('Bullet', this.x, this.y);
}
Методы и свойства действий
Number
ctAction.value ⇒ Вещественное значение от -1 до 1. 0 означает, что в текущем кадре нет входных данных — например, все джойстики находятся в исходном положении, или все кнопки были отпущены. При использовании с клавиатурой и мышью значения действий будут равны либо 0, либо 1, а также -1, если использовались множители. Джойстики на геймпаде и другие аналоговые манипуляторы могут создавать значения между этими величинами.
Boolean
ctAction.pressed ⇒ Возвращает, стало ли действие активным в текущем кадре — напрмер, за счёт только что нажатой кнопки, либо с помощью скалярного ввода.
Возвращает: Boolean
– true
, если было нажато и false
, если нет
Boolean
ctAction.released ⇒ Возвращает, стало ли действие неактивным в текущем кадре — например, за счёт отпускания всех кнопок или перехода всех аналоговых методов ввода в состояние покоя.
Возвращает: Boolean
– true
, если стало неактивно и false
в остальных случаях
Boolean
ctAction.down ⇒ Возвращает, является ли действие активным — например, если зажата кнопка или активен аналоговый метод ввода.
Возвращает: Boolean
– true
, если активно и false
, если нет
Boolean
ctAction.methodExists(code) ⇒ Проверяет, прослушивает ли текущее действие данный метод ввода. Функция при этом не проверяет, поддерживается ли этот метод ввода в ct.
Возвращает: Boolean
– true
, если такой метод прослушивается и false
, если нет.
Аргумент | Тип | Описание |
---|---|---|
code | String | Код искомого метода ввода. |
void
ctAction.addMethod(code, [multiplier]) ⇒ Добавляет новый метод ввода для прослушивания.
Аргумент | Тип | Описание |
---|---|---|
code | String | Код метода ввода для прослушивания. Должно быть уникальным для каждого действия. |
[multiplier] | Number | Необязательный множитель, используемый, например, чтобы обратить значение действия. Часто используется с парой кнопок, чтобы объединить их в псевдо-аналоговый метод ввода, аналогичный джойстикам |
void
ctAction.removeMethod(code) ⇒ Удаляет указанный метод ввода из действия.
Аргумент | Тип | Описание |
---|---|---|
code | String | Код удаляемого метода ввода. |
void
ctAction.setMultiplier(code, multiplier) ⇒ Изменяет множитель для метода ввода с указанным кодом. Функция выдаст предупреждение при попытке изменить метод ввода, который не прослушивается действием.
Аргумент | Тип | Описание |
---|---|---|
code | String | Код метода ввода для изменения |
multiplier | Number | Новое значение множителя |
Number
ctAction.update() ⇒ Пересчитывает цифровое значение действия.
Возвращает: Number
– вещественную величину от -1 до 1.
Программное создание и удаление действий
CtAction
ct.inputs.addAction(name, methods) ⇒ Добавляет новое действие и помещает его в ct.actions
.
Аргумент | Тип | Описание |
---|---|---|
name | String | Название действия, как оно будет использоваться в ct.actions . |
methods | Array<Object> | Список методов ввода. Этот список может быть изменён после создания действия. |
Возвращает: CtAction
– Созданное действие
Пример:
ct.inputs.addAction('Move', [{
code: 'keyboard.ArrowLeft',
multiplier: -1
}, {
code: 'keyboard.ArrowRight'
}, {
code: 'keyboard.KeyA',
multiplier: -1
}, {
code: 'keyboard.KeyD'
}]);
void
ct.inputs.removeAction(name, methods) ⇒ Удаляет действие с указанным именем.
Аргумент | Тип | Описание |
---|---|---|
name | String | Название действия |
Возвращает: void
Создание новых действий без добавления их в ct.actions
new CtAction(name)
Создаёт новое действие.
Аргумент | Тип | Описание |
---|---|---|
name | String | Название нового действия. |