Input Events
Types
Position
Property | Type | Description |
---|---|---|
x | integer | The x-coordinate in pixels |
y | integer | The y-coordinate in pixels |
TouchEvent
Property | Type | Description |
---|---|---|
pointerId | integer | unique ID for the pointer, provided by the browser. |
position | Position | Touched position coordinates in pixels |
target | eid | eid if initially touched object |
start | Position | The position coordinates in pixels where the touch event started. |
change | Position | The position coordinates in pixels of the touch since the last change. |
GestureEvent
Property | Type | Description |
---|---|---|
touchCount | integer | The number of points contributing to the gesture. |
position | Position | Touched position coordinates in pixels |
startPosition | Position | The position coordinates in pixels where the event started. |
changePosition | Position | The position coordinates in pixels since the last change. |
spread | float | The average position between pointers from the center point. |
startSpread | float | The first spread emitted in start. |
spreadChange | float | The spread value since the last change. |
nextTouchCount | integer | On 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);
});
- Multiple touch points can be active simultaneously.
- Only one touch gesture (single or multitouch) will be recognized as active at a time.
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);
});
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);
});