Класс: Phaser.Input
Конструктор
new Input(game)
Phaser.Input — это менеджер ввода для всех типов ввода в Phaser, включая мышь, клавиатуру, сенсорное управление и MSPointer.
Менеджер ввода обновляется автоматически основным циклом игры.
Параметры
| Имя | Тип | Описание |
|---|---|---|
game | Phaser.Game | Текущая инстанция игры. |
- Исходный код: input/Input.js (Строка 15)
Общедоступные свойства
- Исходный код: input/Input.js (Строка 377)
- Исходный код: input/Input.js (Строка 358)
- Исходный код: input/Input.js (Строка 370)
- Исходный код: input/Input.js (Строка 364)
- Исходный код: input/Input.js (Строка 223)
- Исходный код: input/Input.js (Строка 91)
- Значение по умолчанию
- 300
- Исходный код: input/Input.js (Строка 114)
- Значение по умолчанию
- true
- Исходный код: input/Input.js (Строка 67)
- Исходный код: input/Input.js (Строка 20)
- Исходный код: input/Input.js (Строка 274)
- Исходный код: input/Input.js (Строка 26)
[static] MAX_POINTERS : integer
Максимальное количество указателей, которое можно добавить. Это не включает указатель мыши.
[static] MOUSE_OVERRIDES_TOUCH : number
[static] MOUSE_TOUCH_COMBINE : number
[static] TOUCH_OVERRIDES_MOUSE : number
activePointer : Phaser.Pointer
Последний активный объект указателя.
Когда максимальное количество указателей ограничено до 1, это будет точно либо первый палец, прикоснувшийся к экрану, либо мышь.
circle : Phaser.Circle
Объект Circle, центрированный по координатам x/y экрана Input.
Размер по умолчанию 44px (рекомендуемый размер "кончика пальца" в Apple), но может быть изменён на любой другой.
doubleTapRate : number
Количество миллисекунд между нажатиями одного и того же указателя, чтобы это считалось двойным нажатием/щелчком.
enabled : boolean
При включении обработка ввода (например, клавиатура, мышь, сенсорный ввод) будет обрабатываться — при условии, что сами отдельные источники включены.
При выключении все источники ввода игнорируются. Чтобы отключить только один тип ввода, например, мышь, используйте input.mouse.enabled = false.
game : Phaser.Game
Ссылка на текущую запущенную игру.
gamepad : Phaser.Gamepad
Менеджер ввода Gamepad.
hitCanvas :HTMLCanvasElement
Канвас, на которую рисуются отдельные пиксели для выполнения точного обнаружения столкновений по пикселям.
hitContext :CanvasRenderingContext2D
- Исходный код: input/Input.js (Строка 32)
- Значение по умолчанию
- 2000
- Исходный код: input/Input.js (Строка 120)
- Исходный код: input/Input.js (Строка 320)
- Значение по умолчанию
- 200
- Исходный код: input/Input.js (Строка 126)
- Значение по умолчанию
- 200
- Исходный код: input/Input.js (Строка 132)
- Исходный код: input/Input.js (Строка 247)
- Значение по умолчанию
- -1 (Ограничено общим количеством указателей.)
- Исходный код: input/Input.js (Строка 102)
- Исходный код: input/Input.js (Строка 314)
- Исходный код: input/Input.js (Строка 240)
- Исходный код: input/Input.js (Строка 230)
Контекст канваса с точным попаданием в пиксели.
holdRate : число
Количество миллисекунд, которое должен быть нажат указатель Pointer, чтобы сгенерировать событие onHold.
interactiveItems : Phaser.ArraySet
Список интерактивных объектов. Компоненты InputHandler добавляют и удаляют себя из этого списка.
justPressedRate : число
Количество миллисекунд, ниже которого указатель Pointer считается только что нажатым (justPressed).
justReleasedRate : число
Количество миллисекунд, ниже которого указатель Pointer считается только что отпущенным (justReleased).
keyboard : Phaser.Keyboard
Менеджер ввода с клавиатуры.
maxPointers : целое число
Максимальное количество активных указателей Pointer одновременно. Значение -1 ограничено только общим количеством указателей. Для многих игр полезно установить это значение в 1.
minPriorityID : число
Вы можете сказать всем указателям Pointer игнорировать любой игровой объект с приоритетом priorityID ниже этого значения.
Это полезно при наложении слоев UI. Установите в ноль, чтобы отключить.
mouse : Phaser.Mouse
Менеджер ввода с помощью мыши.
Обычно вам не нужно обращаться к этому менеджеру напрямую, а вместо этого используйте Input.mousePointer или Input.activePointer,
которые нормализуют все значения ввода для вас, независимо от браузера.
mousePointer :Pointer
У мыши есть свой уникальный объект Phaser.Pointer, который вы можете использовать, если создаёте игру только для настольных компьютеров.
<internal> moveCallbacks :массив
- Внутреннее:
- Этот член является внутренним (защищённым) и может быть изменён или удалён в будущем.
- Исходный код: input/Input.js (Строка 40)
- Исходный код: input/Input.js (Строка 267)
- Исходный код: input/Input.js (Строка 73)
- Исходный код: input/Input.js (Строка 288)
- Исходный код: input/Input.js (Строка 306)
- Исходный код: input/Input.js (Строка 300)
- Исходный код: input/Input.js (Строка 294)
- Исходный код: input/Input.js (Строка 160)
- Исходный код: input/Input.js (Строка 165)
- Исходный код: input/Input.js (Строка 170)
- Исходный код: input/Input.js (Строка 175)
Массив обратных вызовов, которые будут вызываться каждый раз, когда активный указатель получает событие перемещения от DOM.
Чтобы добавить обратный вызов в этот массив, используйте Input.addMoveCallback.
mspointer : Phaser.MSPointer
Менеджер ввода MSPointer.
Обычно вы не должны напрямую обращаться к этому менеджеру, а вместо этого используйте Input.activePointer
который нормализует все значения ввода для вас, независимо от браузера.
multiInputOverride : number
Управляет ожидаемым поведением при одновременном использовании мыши и сенсорного ввода на устройстве с несколькими входами.
onDown : Phaser.Signal
Сигнал, который отправляется каждый раз, когда указатель нажимается.
onHold : Phaser.Signal
Сигнал, который отправляется каждый раз, когда указатель удерживается.
onTap : Phaser.Signal
Сигнал, который отправляется каждый раз, когда указатель нажимается.
onUp : Phaser.Signal
Сигнал, который отправляется каждый раз, когда указатель отпускается.
pointer1 : Phaser.Pointer
Объект указателя.
pointer2 : Phaser.Pointer
Объект указателя.
pointer3 : Phaser.Pointer
Объект указателя.
pointer4 : Phaser.Pointer
Объект указателя.
pointer5 : Phaser.Pointer
Объект указателя.
- Source code: input/Input.js (Line 180)
- Source code: input/Input.js (Line 185)
- Source code: input/Input.js (Line 190)
- Source code: input/Input.js (Line 195)
- Source code: input/Input.js (Line 200)
- Source code: input/Input.js (Line 205)
- Array.<Phaser.Pointer>
- Source code: input/Input.js (Line 214)
- Source code: input/Input.js (Line 1065)
- Source code: input/Input.js (Line 58)
- Source code: input/Input.js (Line 79)
- Значение по умолчанию
- 100
- Source code: input/Input.js (Line 155)
pointer6 : Phaser.Pointer
Объект Pointer.
pointer7 : Phaser.Pointer
Объект Pointer.
pointer8 : Phaser.Pointer
Объект Pointer.
pointer9 : Phaser.Pointer
Объект Pointer.
pointer10 : Phaser.Pointer
Объект Pointer.
[readonly] pointers : Array.<Phaser.Pointer>
Массив указателей, не являющихся указателями мыши, которые были добавлены в игру.
Свойства pointer1..N являются псевдонимами для pointers[0..N-1].
Type
[readonly] pollLocked : boolean
Истина, если Input в настоящее время заблокирован по частоте опроса.
pollRate : number
Как часто следует проверять указатели ввода на наличие обновлений? Значение 0 означает каждую кадр (60 кадров в секунду); значение 1 означает каждый второй кадр (30 кадров в секунду) и так далее.
position : Phaser.Point
Объект точки, представляющий текущее положение указателя.
recordLimit : number
Общее количество записей, которые могут быть записаны в отслеживающие историю объекты указателей.
Если указатель отслеживает одно событие каждые 100 мс, то trackLimit в 100 сохранит последние 10 секунд истории.
recordPointerHistory : boolean
Устанавливает, будут ли объекты указателей записывать историю координат x/y, через которые они прошли.
История очищается каждый раз, когда указатель нажимается.
История обновляется со скоростью, указанной в Input.pollRate
- Исходный код: input/Input.js (Строка 141)
- Значение по умолчанию
- 100
- Исходный код: input/Input.js (Строка 147)
- Исходный код: input/Input.js (Строка 282)
- Исходный код: input/Input.js (Строка 96)
- Исходный код: input/Input.js (Строка 84)
- Значение по умолчанию
- 200
- Исходный код: input/Input.js (Строка 108)
- Исходный код: input/Input.js (Строка 1093)
- Исходный код: input/Input.js (Строка 1079)
- Исходный код: input/Input.js (Строка 257)
- Исходный код: input/Input.js (Строка 1107)
- Исходный код: input/Input.js (Строка 1121)
recordRate : число
Скорость, в миллисекундах, с которой объекты Pointer должны обновлять свою историю отслеживания.
resetLocked : логическое
Если менеджер Input заблокирован для сброса, все вызовы InputManager.reset (например, при изменении состояния) игнорируются.
scale : Phaser.Point
Масштаб, с которым умножаются все координаты ввода; вычисляется ScaleManager. В игре без масштабирования значения будут x = 1 и y = 1.
speed : Phaser.Point
Объект точки, представляющий скорость Pointer. Полезно только в играх с одним Pointer; в противном случае используйте объекты Pointer напрямую.
tapRate : число
Количество миллисекунд, которое Pointer должен удерживаться нажатым, а затем отпущенным, чтобы считаться нажатием или щелчком.
[только для чтения] totalActivePointers : целые числа
Общее количество активных Pointer, не считая указателя мыши.
[только для чтения] totalInactivePointers : число
Общее количество неактивных Pointer.
touch : Phaser.Touch
Менеджер ввода Touch.
Обычно вы не должны напрямую обращаться к этому менеджеру, а вместо этого использовать Input.activePointer,
который нормализует все значения ввода для вас независимо от браузера.
[только для чтения] worldX : число
Координата X в глобальной системе координат последнего активного указателя.
[только для чтения] worldY : число
Координата Y в глобальной системе координат последнего активного указателя.
x : число
- Исходный код: input/Input.js (Строка 1029)
- Исходный код: input/Input.js (Строка 1047)
Координата X последнего активного указателя.
Это значение автоматически учитывает масштабирование игры. См. Pointer.screenX/clientX для исходных значений.
y : number
Координата Y последнего активного указателя.
Это значение автоматически учитывает масштабирование игры. См. Pointer.screenY/clientY для исходных значений.
Публичные методы
- Исходный код: input/Input.js (Строка 502)
- Исходный код: input/Input.js (Строка 549)
- Внутреннее:
- Этот член является внутренним (защищенным) и может быть изменен или удален в будущем.
- Исходный код: input/Input.js (Строка 381)
- Исходный код: input/Input.js (Строка 527)
- Исходный код: input/Input.js (Строка 444)
addMoveCallback(callback, context)
Добавляет обработчик, который срабатывает каждый раз, когда активный указатель получает событие перемещения DOM, такое как mousemove или touchmove.
Обработчик получит 4 параметра:
Ссылка на объект Phaser.Pointer, который перемещался,
Позицию x указателя,
Позицию y,
Логическое значение, указывающее, было ли перемещение результатом события 'click' (такого как щелчок мышью или касание).
Он будет вызываться каждый раз, когда активный указатель перемещается, что в игре с несколькими касаниями может происходить много раз, поэтому его лучше использовать только в том случае, если у вас ограничен ввод одним указателем (например, мышью или касанием).
Обработчик добавляется в массив Phaser.Input.moveCallbacks и должен быть удалён с помощью Phaser.Input.deleteMoveCallback.
Parameters
| Name | Type | Описание |
|---|---|---|
callback | function | Обработчик, который будет вызываться каждый раз, когда активный указатель получает событие перемещения DOM. |
context | object | Контекст, в котором будет вызван обработчик. |
addPointer() → {Phaser.Pointer | null}
Добавляет новый объект Pointer в менеджер Input.
По умолчанию Input создает 3 объекта указателя: mousePointer (не включается в общий пул указателей), pointer1 и pointer2.
Этот метод добавляет дополнительный указатель, до максимального значения Phaser.Input.MAX_POINTERS (по умолчанию 10).
Возвращаемое значение
Новый созданный объект Pointer; null, если новый указатель не смог быть добавлен.
<internal> boot()
Запускает работу менеджера Input.
deleteMoveCallback(callback, context)
Удаляет обработчик из массива Phaser.Input.moveCallbacks.
Parameters
| Name | Type | Описание |
|---|---|---|
callback | function | Обработчик, который нужно удалить. |
context | object | Контекст, в котором существует обработчик. |
destroy()
Останавливает работу всех менеджеров Input.
getLocalPosition(displayObject, pointer) → {Phaser.Point}
Возвращает локальные координаты указанного displayObject, основанные на данном Pointer.
Parameters
- Исходный код: input/Input.js (Строка 902)
- Исходный код: input/Input.js (Строка 824)
- Исходный код: input/Input.js (Строка 876)
- Исходный код: input/Input.js (Строка 849)
| Имя | Тип | Описание |
|---|---|---|
displayObject | Phaser.Sprite | Phaser.Image | Элемент отображения, для которого нужно получить локальные координаты. |
pointer | Phaser.Pointer | Указатель, используемый для проверки нахождения указателя относительно элемента отображения. |
Возвращаемое значение
Точка, содержащая координаты положения указателя относительно элемента отображения.
getPointer(isActive) → {Phaser.Pointer}
Получить первый указатель с заданным состоянием активности.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
isActive | boolean | <optional> | false | Состояние указателя — активный или неактивный? |
Возвращаемое значение
Объект указателя или null, если объект указателя не соответствует запрошенному состоянию.
getPointerFromId(pointerId) → {Phaser.Pointer}
Получить объект указателя, чье свойство pointerId соответствует заданному значению.
Свойство pointerId не устанавливается до тех пор, пока указатель не будет использован хотя бы один раз, так как оно заполняется событием DOM.
Также оно может изменяться каждый раз при нажатии указателя, если браузер его переиспользует.
Параметры
| Имя | Тип | Описание |
|---|---|---|
pointerId | number | Значение |
Возвращаемое значение
Объект указателя или null, если объект указателя не соответствует запрошенному идентификатору.
getPointerFromIdentifier(identifier) → {Phaser.Pointer}
Получить объект указателя, чье свойство identifier соответствует заданному значению идентификатора.
Свойство identifier не устанавливается до тех пор, пока указатель не будет использован хотя бы один раз, так как оно заполняется событием DOM.
Также оно может изменяться каждый раз при нажатии указателя и не фиксируется после установки.
Примечание: не все браузеры устанавливают свойство identifier, и оно не входит в спецификацию W3C, поэтому вместо него может потребоваться использовать getPointerFromId.
Параметры
| Имя | Тип | Описание |
|---|---|---|
identifier | number | Значение Pointer.identifier для поиска. |
Возвращаемое значение
Объект указателя или null, если объект указателя не соответствует запрошенному идентификатору.
hitTest(displayObject, pointer, localPoint)
Проверяет, попадает ли указатель в данный объект.
- Исходный код: input/Input.js (Строка 924)
- Исходный код: input/Input.js (Строка 614)
- Исходный код: input/Input.js (Строка 673)
- Исходный код: input/Input.js (Строка 473)
Параметры
| Имя | Тип | Описание |
|---|---|---|
displayObject | DisplayObject | Объект отображения, для которого проверяется попадание. |
pointer | Phaser.Pointer | Указатель, используемый для проверки. |
localPoint | Phaser.Point | Локальная переведённая точка. |
reset(hard)
Сбрасывает все указатели и состояния ввода.
Дополнительный параметр hard позволит сбросить любые привязанные события или колбэки.
Input.reset вызывается автоматически во время изменения состояния или если игра теряет фокус/видимость.
Для ручного управления сбросом установите Phaser.InputManager.resetLocked в true.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
hard | boolean | <optional> | false | Мягкий сброс не сбросит привязанные события или колбэки. Жесткий сброс — сделает это. |
resetSpeed(x, y)
Сбрасывает свойства скорости и старого положения.
Параметры
| Имя | Тип | Описание |
|---|---|---|
x | number | Устанавливает значение oldPosition.x. |
y | number | Устанавливает значение oldPosition.y. |
setInteractiveCandidateHandler(callback, context)
Добавляет колбэк, который срабатывает каждый раз, когда вызывается Pointer.processInteractiveObjects.
Цель processInteractiveObjects — определить, с каким объектом игры будет взаимодействовать указатель.
Это достигается путем опроса всех допустимых игровых объектов и постепенного исключения объектов,
не соответствующих критериям (т. е. они не находятся под указателем, отключены, невидимы и т. д.).
В конечном итоге создаётся короткий список «кандидатов». Это все объекты игры, которые подходят для ввода и перекрываются указателем. Если вам нужен точный контроль над выбором элементов, вы можете использовать этот колбэк для этого.
Колбэку будут переданы 3 параметра:
1) Ссылка на объект Phaser.Pointer, обрабатывающий элементы.
2) Массив, содержащий все потенциальные кандидаты на взаимодействие. Это массив объектов InputHandler, а не спрайтов.
3) Текущий «любимый» кандидат на основе его приоритета и позиции в списке отображения.
Ваш колбэк ДОЛЖЕН вернуть одного из кандидатов, переданных ему.
Параметры
| Имя | Тип | Описание |
|---|---|---|
callback | function | Колбэк, который будет вызываться каждый раз при вызове |
context | object | Контекст, в котором будет вызван колбэк. |
<internal> startPointer(event) → {Phaser.Pointer}
- Внутреннее:
- Этот член является внутренним (защищённым) и может быть изменён или удалён в будущем.
- Исходный код: input/Input.js (Строка 687)
- Внутреннее:
- Этот член является внутренним (защищённым) и может быть изменён или удалён в будущем.
- Исходный код: input/Input.js (Строка 762)
- Внутреннее:
- Этот член является внутренним (защищённым) и может быть изменён или удалён в будущем.
- Исходный код: input/Input.js (Строка 575)
- Внутреннее:
- Этот член является внутренним (защищённым) и может быть изменён или удалён в будущем.
- Исходный код: input/Input.js (Строка 727)
Найдите первый свободный объект Pointer и запустите его, передав данные события.
Это вызывается автоматически Phaser.Touch и Phaser.MSPointer.
Параметры
| Имя | Тип | Описание |
|---|---|---|
event | any | Данные события от события Touch. |
Возвращаемое значение
Объект Pointer, который был запущен, или null, если объект Pointer недоступен.
<internal> stopPointer(event) → {Phaser.Pointer}
Останавливает соответствующий объект Pointer, передав данные события.
Параметры
| Имя | Тип | Описание |
|---|---|---|
event | any | Данные события от события Touch. |
Возвращаемое значение
Объект Pointer, который был остановлен, или null, если объект Pointer недоступен.
<internal> update()
Обновляет менеджер Input. Вызывается основным циклом игры.
<internal> updatePointer(event) → {Phaser.Pointer}
Обновляет соответствующий объект Pointer, передав данные события.
Это вызывается автоматически и обычно вызывать не нужно.
Параметры
| Имя | Тип | Описание |
|---|---|---|
event | any | Данные события от события Touch. |
Возвращаемое значение
Объект Pointer, который был обновлён; null, если объект pointer не был обновлён.
© 2016 Richard Davey, Photon Storm Ltd.
Licensed under the MIT License.
http://phaser.io/docs/2.6.2/Phaser.Input.html