Skip to content

Commit 62cb5c6

Browse files
committed
Added 3 new Wheel input events
1 parent 700c9da commit 62cb5c6

4 files changed

Lines changed: 109 additions & 0 deletions

File tree

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/**
2+
* @author Richard Davey <rich@photonstorm.com>
3+
* @copyright 2019 Photon Storm Ltd.
4+
* @license {@link https://opensource.org/licenses/MIT|MIT License}
5+
*/
6+
7+
/**
8+
* The Game Object Pointer Wheel Event.
9+
*
10+
* This event is dispatched by an interactive Game Object if a pointer has its wheel moved while over it.
11+
*
12+
* Listen to this event from a Game Object using: `gameObject.on('wheel', listener)`.
13+
* Note that the scope of the listener is automatically set to be the Game Object instance itself.
14+
*
15+
* To receive this event, the Game Object must have been set as interactive.
16+
* See [GameObject.setInteractive]{@link Phaser.GameObjects.GameObject#setInteractive} for more details.
17+
*
18+
* The event hierarchy is as follows:
19+
*
20+
* 1. [GAMEOBJECT_POINTER_WHEEL]{@linkcode Phaser.Input.Events#event:GAMEOBJECT_POINTER_WHEEL}
21+
* 2. [GAMEOBJECT_WHEEL]{@linkcode Phaser.Input.Events#event:GAMEOBJECT_WHEEL}
22+
* 3. [POINTER_WHEEL]{@linkcode Phaser.Input.Events#event:POINTER_WHEEL}
23+
*
24+
* With the top event being dispatched first and then flowing down the list. Note that higher-up event handlers can stop
25+
* the propagation of this event.
26+
*
27+
* @event Phaser.Input.Events#GAMEOBJECT_POINTER_WHEEL
28+
* @since 3.18.0
29+
*
30+
* @param {Phaser.Input.Pointer} pointer - The Pointer responsible for triggering this event.
31+
* @param {number} deltaX - The horizontal scroll amount that occurred due to the user moving a mouse wheel or similar input device.
32+
* @param {number} deltaY - The vertical scroll amount that occurred due to the user moving a mouse wheel or similar input device. This value will typically be less than 0 if the user scrolls up and greater than zero if scrolling down.
33+
* @param {number} deltaZ - The z-axis scroll amount that occurred due to the user moving a mouse wheel or similar input device.
34+
* @param {Phaser.Types.Input.EventData} event - The Phaser input event. You can call `stopPropagation()` to halt it from going any further in the event flow.
35+
*/
36+
module.exports = 'wheel';
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/**
2+
* @author Richard Davey <rich@photonstorm.com>
3+
* @copyright 2019 Photon Storm Ltd.
4+
* @license {@link https://opensource.org/licenses/MIT|MIT License}
5+
*/
6+
7+
/**
8+
* The Game Object Wheel Input Event.
9+
*
10+
* This event is dispatched by the Input Plugin belonging to a Scene if a pointer has its wheel moved while over _any_ interactive Game Object.
11+
*
12+
* Listen to this event from within a Scene using: `this.input.on('gameobjectwheel', listener)`.
13+
*
14+
* To receive this event, the Game Objects must have been set as interactive.
15+
* See [GameObject.setInteractive]{@link Phaser.GameObjects.GameObject#setInteractive} for more details.
16+
*
17+
* To listen for this event from a _specific_ Game Object, use the [GAMEOBJECT_POINTER_WHEEL]{@linkcode Phaser.Input.Events#event:GAMEOBJECT_POINTER_WHEEL} event instead.
18+
*
19+
* The event hierarchy is as follows:
20+
*
21+
* 1. [GAMEOBJECT_POINTER_WHEEL]{@linkcode Phaser.Input.Events#event:GAMEOBJECT_POINTER_WHEEL}
22+
* 2. [GAMEOBJECT_WHEEL]{@linkcode Phaser.Input.Events#event:GAMEOBJECT_WHEEL}
23+
* 3. [POINTER_WHEEL]{@linkcode Phaser.Input.Events#event:POINTER_WHEEL}
24+
*
25+
* With the top event being dispatched first and then flowing down the list. Note that higher-up event handlers can stop
26+
* the propagation of this event.
27+
*
28+
* @event Phaser.Input.Events#GAMEOBJECT_WHEEL
29+
* @since 3.18.0
30+
*
31+
* @param {Phaser.Input.Pointer} pointer - The Pointer responsible for triggering this event.
32+
* @param {Phaser.GameObjects.GameObject} gameObject - The Game Object the pointer was over when the wheel changed.
33+
* @param {number} deltaX - The horizontal scroll amount that occurred due to the user moving a mouse wheel or similar input device.
34+
* @param {number} deltaY - The vertical scroll amount that occurred due to the user moving a mouse wheel or similar input device. This value will typically be less than 0 if the user scrolls up and greater than zero if scrolling down.
35+
* @param {number} deltaZ - The z-axis scroll amount that occurred due to the user moving a mouse wheel or similar input device.
36+
* @param {Phaser.Types.Input.EventData} event - The Phaser input event. You can call `stopPropagation()` to halt it from going any further in the event flow.
37+
*/
38+
module.exports = 'gameobjectwheel';
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/**
2+
* @author Richard Davey <rich@photonstorm.com>
3+
* @copyright 2019 Photon Storm Ltd.
4+
* @license {@link https://opensource.org/licenses/MIT|MIT License}
5+
*/
6+
7+
/**
8+
* The Pointer Wheel Input Event.
9+
*
10+
* This event is dispatched by the Input Plugin belonging to a Scene if a pointer has its wheel updated.
11+
*
12+
* Listen to this event from within a Scene using: `this.input.on('wheel', listener)`.
13+
*
14+
* The event hierarchy is as follows:
15+
*
16+
* 1. [GAMEOBJECT_POINTER_WHEEL]{@linkcode Phaser.Input.Events#event:GAMEOBJECT_POINTER_WHEEL}
17+
* 2. [GAMEOBJECT_WHEEL]{@linkcode Phaser.Input.Events#event:GAMEOBJECT_WHEEL}
18+
* 3. [POINTER_WHEEL]{@linkcode Phaser.Input.Events#event:POINTER_WHEEL}
19+
*
20+
* With the top event being dispatched first and then flowing down the list. Note that higher-up event handlers can stop
21+
* the propagation of this event.
22+
*
23+
* @event Phaser.Input.Events#POINTER_WHEEL
24+
* @since 3.18.0
25+
*
26+
* @param {Phaser.Input.Pointer} pointer - The Pointer responsible for triggering this event.
27+
* @param {Phaser.GameObjects.GameObject[]} currentlyOver - An array containing all interactive Game Objects that the pointer was over when the event was created.
28+
* @param {number} deltaX - The horizontal scroll amount that occurred due to the user moving a mouse wheel or similar input device.
29+
* @param {number} deltaY - The vertical scroll amount that occurred due to the user moving a mouse wheel or similar input device. This value will typically be less than 0 if the user scrolls up and greater than zero if scrolling down.
30+
* @param {number} deltaZ - The z-axis scroll amount that occurred due to the user moving a mouse wheel or similar input device.
31+
*/
32+
module.exports = 'wheel';

src/input/events/index.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,9 @@ module.exports = {
3737
GAMEOBJECT_POINTER_OUT: require('./GAMEOBJECT_POINTER_OUT_EVENT'),
3838
GAMEOBJECT_POINTER_OVER: require('./GAMEOBJECT_POINTER_OVER_EVENT'),
3939
GAMEOBJECT_POINTER_UP: require('./GAMEOBJECT_POINTER_UP_EVENT'),
40+
GAMEOBJECT_POINTER_WHEEL: require('./GAMEOBJECT_POINTER_WHEEL_EVENT'),
4041
GAMEOBJECT_UP: require('./GAMEOBJECT_UP_EVENT'),
42+
GAMEOBJECT_WHEEL: require('./GAMEOBJECT_WHEEL_EVENT'),
4143
MANAGER_BOOT: require('./MANAGER_BOOT_EVENT'),
4244
MANAGER_PROCESS: require('./MANAGER_PROCESS_EVENT'),
4345
MANAGER_UPDATE: require('./MANAGER_UPDATE_EVENT'),
@@ -48,6 +50,7 @@ module.exports = {
4850
POINTER_OVER: require('./POINTER_OVER_EVENT'),
4951
POINTER_UP: require('./POINTER_UP_EVENT'),
5052
POINTER_UP_OUTSIDE: require('./POINTER_UP_OUTSIDE_EVENT'),
53+
POINTER_WHEEL: require('./POINTER_WHEEL_EVENT'),
5154
POINTERLOCK_CHANGE: require('./POINTERLOCK_CHANGE_EVENT'),
5255
PRE_UPDATE: require('./PRE_UPDATE_EVENT'),
5356
SHUTDOWN: require('./SHUTDOWN_EVENT'),

0 commit comments

Comments
 (0)