Passer au contenu principal

Input Events

Types

Position

PropertyTypeDescription
xintegerThe x-coordinate in pixels
yintegerThe y-coordinate in pixels

TouchEvent

PropertyTypeDescription
pointerIdintegerunique ID for the pointer, provided by the browser.
positionPositionTouched position coordinates in pixels
targeteideid if initially touched object
startPositionThe position coordinates in pixels where the touch event started.
changePositionThe position coordinates in pixels of the touch since the last change.

GestureEvent

PropertyTypeDescription
touchCountintegerThe number of points contributing to the gesture.
positionPositionTouched position coordinates in pixels
startPositionPositionThe position coordinates in pixels where the event started.
changePositionPositionThe position coordinates in pixels since the last change.
spreadfloatThe average position between pointers from the center point.
startSpreadfloatThe first spread emitted in start.
spreadChangefloatThe spread value since the last change.
nextTouchCountintegerOn end, the number of pointers involved in the following gesture

Events

GAMEPAD_CONNECTED

Emits when a gamepad is connected to the device.

Example

world.events.addListener(world.events.globalId, ecs.input.GAMEPAD_CONNECTED, (detail: Object) => {
console.log(detail.gamepad);
});

GAMEPAD_DISCONNECTED

Emits when a gamepad is disconnected from the device.

Example

world.events.addListener(world.events.globalId, ecs.input.GAMEPAD_DISCONNECTED, (detail: Object) => {
console.log(detail.gamepad);
});
remarque
  • Multiple touch points can be active simultaneously.
  • Only one touch gesture (single or multitouch) will be recognized as active at a time.
info

If a touch event has a target, it will be emitted on that target and propagate up to its parent elements and eventually to the global level. This means a touch listener on a parent object will capture events from all its child elements.

SCREEN_TOUCH_START

Emits when the user initially touches or clicks the screen or target object.

Example

world.events.addListener(world.events.globalId, ecs.input.SCREEN_TOUCH_START, (touchEvent: TouchEvent) => {
console.log(touchEvent);
});

SCREEN_TOUCH_MOVE

Emits when the user clicks and drags or moves their finger on the screen.

Example

world.events.addListener(world.events.globalId, ecs.input.SCREEN_TOUCH_MOVE, (touchEvent: TouchEvent) => {
console.log(touchEvent);
});

SCREEN_TOUCH_END

Emits when the user stops clicking or lift the finger off the screen.

Example

world.events.addListener(world.events.globalId, ecs.input.SCREEN_TOUCH_END, (touchEvent: TouchEvent) => {
console.log(touchEvent);
});
info

Gesture events are emitted when the user makes a "gesture" on the phone screen. A gesture is any action that requires multiple fingers. If the user starts with a "'zoom" action (2 fingers moving away from each other) then adds another finger to the screen then the "zoom" gesture will end and a new one will start with 3 fingers.

GESTURE_START

Emits when the user stops clicking or lift the finger off the screen.

Example

world.events.addListener(world.events.globalId, ecs.input.GESTURE_START, (gestureEvent: GestureEvent) => {
console.log(gestureEvent);
});

GESTURE_MOVE

Emits when the user moves their finger(s) on the screen.

Example

world.events.addListener(world.events.globalId, ecs.input.GESTURE_MOVE, (gestureEvent: GestureEvent) => {
console.log(gestureEvent);
});

GESTURE_END

Emits when the number of fingers change from an previous gesture check.

Example

world.events.addListener(world.events.globalId, ecs.input.GESTURE_END, (gestureEvent: GestureEvent) => {
console.log(gestureEvent);
});