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