Skip to main content

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);
});
note
  • 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);
});