Ответ 1
Сначала вам нужно включить Sprite для ввода:
sprite.inputEnabled = true;
Затем вы можете прослушивать любые события, которые отправляет Sprite, когда они участвуют во вводе, например:
sprite.events.onInputDown.add(onDown, this);
...
function onDown(sprite, pointer) {
// do something wonderful here
}
Обратный вызов отправляется 2 параметра: Sprite и указатель, которые вызвали входное событие (как в системе с несколькими входами, это может часто меняться)
У Указателя есть много свойств, к которым вы можете получить доступ, например, время его размещения, историю движения и т.д. См. Документы указателя для деталей.
В Sprite есть много событий, но это связанные с Input (они сняты непосредственно из исходного кода Phaser):
/**
* @property {Phaser.Signal} onInputOver - This signal is dispatched if the parent is inputEnabled and receives an over event from a Pointer.
* @default null
*/
this.onInputOver = null;
/**
* @property {Phaser.Signal} onInputOut - This signal is dispatched if the parent is inputEnabled and receives an out event from a Pointer.
* @default null
*/
this.onInputOut = null;
/**
* @property {Phaser.Signal} onInputDown - This signal is dispatched if the parent is inputEnabled and receives a down event from a Pointer.
* @default null
*/
this.onInputDown = null;
/**
* @property {Phaser.Signal} onInputUp - This signal is dispatched if the parent is inputEnabled and receives an up event from a Pointer.
* @default null
*/
this.onInputUp = null;
/**
* @property {Phaser.Signal} onDragStart - This signal is dispatched if the parent is inputEnabled and receives a drag start event from a Pointer.
* @default null
*/
this.onDragStart = null;
/**
* @property {Phaser.Signal} onDragStop - This signal is dispatched if the parent is inputEnabled and receives a drag stop event from a Pointer.
* @default null
*/
this.onDragStop = null;