Richard Davey
ff65e69cd1
Changed copyright date to 2020
2020-01-15 12:07:09 +00:00
Richard Davey
55a4146726
Merge pull request #4826 from Olliebrown/input-drag-thresholds
...
Fixes for malfunctioning Drag Threshold properties (Issue #4667 )
2019-11-18 15:51:26 +00:00
Hua
3b47221d25
Fix input-event bug in nested container
2019-11-06 15:51:01 +08:00
Seth Berrier
174dcfdada
Fixes for drawing of hitboxes in input.debug
...
- Offset hitboxes now draw properly when debug enabled for all shapes
- Addresses issue #4722
2019-10-28 09:43:25 -05:00
Seth Berrier
7b711bd11b
Fixes for malfunctioning Drag Threshold properties
...
- According to issue #4667 drag thresholds have been broken since 3.18
- Changed processDragMove event to check thresholds if set
- Fixed use of '||' when it should be '&&' for skipping threshold checks
- Adding missing 'time' parameter when calling threshold check function
2019-10-25 14:03:43 -05:00
Richard Davey
9f8e9d2afc
InputPlugin.processDragMove
has been updated so that the resulting dragX
and dragY
values, sent to the event handler, now compensate for the scale of the Game Objects parent container, if inside of one. This means dragging a child of a scale Container will now still drag at 'full' speed.
2019-09-16 15:47:18 +01:00
Richard Davey
08c09b539d
Added enableDebug
and removeDebug
from the Input Plugin, allowing you to create debug shapes to test where input hit areas are.
2019-07-19 15:16:10 +01:00
Richard Davey
131bf336ee
Update Pointers every frame, if not already updated.
2019-07-08 14:59:19 +01:00
Richard Davey
14a6864f21
If you called Scene.destroy
within a Game Object pointerdown
or pointerup
handler, it would cause the error "Cannot read property 'game' of null" if the event wasn't cancelled in your handler. It now checks if the manager is still there before accessing its property. Fix #4436
2019-06-27 01:13:27 +01:00
Rex
16a038674f
Set customHitArea to false if shape is not defined
...
In setHitArea method, use setHitAreaFromTexture if shape is undefined. Suppose that it is not a case of `customHitArea`
2019-06-22 09:37:49 +08:00
Richard Davey
8837cb3fd1
JSDocs fix
2019-06-20 09:58:48 +01:00
Richard Davey
1676f22360
Automatically handle the drag values in rotated containers
2019-06-19 10:41:48 +01:00
Richard Davey
98be6adfda
Native support for wheel events
2019-06-05 15:31:13 +01:00
Richard Davey
af3efc9e2f
Added more docs to make #4575 clearer
2019-06-05 14:08:01 +01:00
Richard Davey
bf48c53103
Added new over and out handlers for touch events
2019-06-04 15:43:02 +01:00
Richard Davey
3c52a3b27a
Pass the pointers array in directly, no need to iterate them all every time
2019-05-28 21:31:54 +01:00
Richard Davey
d87cb43a7f
Removed touch limit on over/out
2019-05-28 17:26:31 +01:00
Richard Davey
e12002bf74
Use a switch instead
2019-05-28 17:21:40 +01:00
Richard Davey
520e2e621f
Catch poll zero
2019-05-28 17:08:30 +01:00
Richard Davey
95f69bbd9e
Split the drag method up into different parts, removed un-used properties and tided up the loop
2019-05-28 16:58:52 +01:00
Richard Davey
961e858cbf
Working through making the Input system DOM responsive and not reliant on the game step
2019-05-24 19:30:13 +01:00
Richard Davey
1d1c4e6543
Removed all input queue elements
2019-05-23 17:19:03 +01:00
Richard Davey
c91ed91ce3
License link update
2019-05-10 16:15:04 +01:00
Richard Davey
1dca2c2c8a
Scenes Types
2019-05-09 12:37:37 +01:00
Richard Davey
290389c4ae
Input Types
2019-05-09 12:02:03 +01:00
Richard Davey
95eb4fc03d
Setting pixelPerfect
when input enabling a Container would cause it to crash, because Container's don't have a texture to check. It will now throw a run-time warning and skip the Container for input. You should use a custom input callback instead. Fix #4492
2019-04-26 10:56:06 +01:00
Richard Davey
64532d8d7b
InputPlugin.clear
has a new argument skipQueue
which is used to avoid clearing a Game Object twice. This, combined with the fix for 4463 means you will no longer get a Cannot read property 'dragState'
error if you destroy a Game Object enabled for drag where another draggable object exists. Fix #4228
2019-04-24 13:38:40 +01:00
Richard Davey
00dbf8b03e
Destroying a Game object during its pointerup
event handler on a touch device will no longer cause Uncaught TypeError: Cannot read property 'localX' of undefined
. All InputPlugin process handlers now check to see if the Game Object has been destroyed at any stage and abort if it has. Fix #4463
2019-04-24 12:54:56 +01:00
Richard Davey
507bb6a215
Added customHitArea boolean property
2019-04-24 11:21:52 +01:00
Richard Davey
95b18ae6e0
Refined poll rate handling and added pluginUpdate
2019-04-24 10:03:58 +01:00
Richard Davey
43c72e23c6
Fixed issue with input events running twice
2019-04-24 09:34:40 +01:00
Richard Davey
e0255c6f0f
Docs fix
2019-04-16 17:08:19 +01:00
Richard Davey
0cfbc7917e
The InputPlugin will now dispatch an update event regardless, allowing the Gamepad Plugin to update itself every frame, regardless of DOM events. This allows Gamepads to work correctly again. Fix #4414
2019-04-08 14:39:28 +01:00
Richard Davey
0db663d901
More typedefs
2019-02-13 15:38:50 +00:00
Richard Davey
3938675d9f
Input typedefs
2019-02-13 14:17:36 +00:00
Richard Davey
3104246386
Merge pull request #4347 from rgk/patch-5
...
On mobile, have pointerup and pointerout get triggered together.
2019-02-10 21:17:24 +00:00
Richard Davey
f3f65d1437
Refactored the game over and out handling to work with the non-legacy input system. Fix #4344
2019-02-10 17:10:13 +00:00
Robert Kowalski
6105c1a9b2
Emit pointerout always after pointerup on touch.
...
Now pointerout will always emit after pointerup.
2019-02-08 09:33:25 -05:00
Robert Kowalski
b94f655405
Only needs to be cleared once.
...
No need for the duplicate clearing of this, and quick fix.
2019-02-06 11:38:50 -05:00
Robert Kowalski
8cd8b6f98e
Stops pointerover from being triggered if pointerup has been.
...
In 3.16.1 if you trigger pointerup and then move to another button, the past buttons pointerover event gets triggered. This clears that and stops that from happening by stopping pointerover from being triggered if pointerup has been.
2019-02-06 11:27:22 -05:00
Richard Davey
aa967cdbc0
Removed process listener.
2019-01-29 01:04:09 +00:00
Richard Davey
b3bc1cebfd
Support the Input Manager useQueue flag.
2019-01-23 15:51:42 +00:00
Richard Davey
bc962c25dc
All listeners use the new Events
2019-01-18 13:41:43 +00:00
Richard Davey
e4902e3b2c
Removed old event docs
2019-01-17 10:34:41 +00:00
Richard Davey
e364b64a57
Added the rest of the input events!
2019-01-16 13:12:07 +00:00
Richard Davey
01905f0cb6
Added lots of the Input Events
2019-01-16 12:13:30 +00:00
Richard Davey
aa341854c7
Happy New Year
2019-01-15 16:20:22 +00:00
Richard Davey
21c9326e07
Change when dragState is populated. Fix #4278
2019-01-05 10:03:11 +00:00
Richard Davey
730c84e3e3
Draggable Game Objects would not work if you had multiple Scenes running in parallel, with draggable objects in both of them. Only the top-most Scene would work fully. Items in the bottom Scene would never finish their drag cycle, causing them to get stuck. Fix #4249
2019-01-04 16:34:59 +00:00
Richard Davey
1b28080575
Added pointerupoutside
and pointerdownoutside
events.
2018-11-29 13:44:42 +00:00
Richard Davey
4a312f16db
Input Plugin will now emit a gameover
or gameout
event and has an isOver
property.
2018-11-28 13:10:54 +00:00
Richard Davey
93a76475ea
The Input Plugin was emitting a preUpdate
event, with the capital U, instead of preupdate
. This has now been corrected. Fix #4185
2018-11-26 11:13:25 +00:00
Richard Davey
d6bee1bbd1
Working through event debugging - don't pull this version unless you want logs everywhere!
2018-11-22 17:18:31 +00:00
Richard Davey
837cc4e86d
Swapped hit area size detection priority
2018-11-12 23:19:49 +00:00
samme
7ff8d51f98
Docs for input and physics events
2018-10-24 12:14:44 -07:00
Richard Davey
4b1c762296
Updated @memberOf to @memberof
2018-10-10 10:49:13 +01:00
Richard Davey
a9063604dc
Replace @readOnly with @readonly
2018-10-09 13:40:00 +01:00
Richard Davey
e92a01985e
If you destroyed a Game Object that had a custom cursor set during one of its input events the cursor didn't correctly reset. Fix #4033
2018-09-14 14:48:53 +01:00
Richard Davey
b1771a17dd
Updated InputPlugin event specificity flow and added stopPropagation support
2018-09-12 12:38:08 +01:00
Richard Davey
88eb4f4ce9
The Pointer.camera
property would only be set if there was a viable Game Object in the camera view. Now it is set regardless, to always be the Camera the Pointer interacted with.
2018-06-27 12:45:03 +01:00
Hua
821504a893
Skip drag checking on a draging Game Object
...
Skip drag checking on a draging Game Object to prevent multi-drag issue.
2018-06-19 10:33:22 +08:00
Richard Davey
d058674a39
eslint fix
2018-06-11 14:42:50 +01:00
Richard Davey
5313343730
Pointers capped at 10 max.
2018-06-11 13:39:28 +01:00
Richard Davey
dfce514024
Fixed docs and added useHandCursor
helper.
2018-06-11 11:50:37 +01:00
Richard Davey
5c7e624260
setInteractive
will now take a configuration object as the only argument, allowing for easier setting of more complex input values
2018-06-11 11:35:31 +01:00
Richard Davey
5889737183
Preparing for cursor change support
2018-06-08 19:04:12 +01:00
Richard Davey
4304811dde
Added new Pixel Perfect input handler and makePixelPerfect
method.
2018-06-08 17:50:47 +01:00
Richard Davey
8148b14cc3
Removed references to the Gamepad
2018-06-08 16:18:20 +01:00
Richard Davey
02554984fe
Removed KeyboardManager and replaced with KeyboardPlugin
...
The `KeyboardManager` class has been removed. It has been replaced with `KeyboardPlugin` which is now an Input level plugin, that registers itself with the new `InputPluginCache`. The Input Plugin class (which belongs to a Scene) will now automatically inject registered plugins into itself on boot. Every Scene has its own instance of the Input Plugin (if enabled in the scene plugins), which in turn has its own instance of the KeyboardPlugin. The `InputManager` no longer has any reference to the Keyboard class at all. The benefits of this are two-fold: First, it allows you to now entirely exclude all of the keyboard classes from a custom build, saving a lot of space if not required. Secondly, it means that the Scenes themselves are now responsible for keyboard events, where-as before they were entirely global. This means a Scene can be paused and stop processing keyboard events, and stop having its Key objects updated, while another Scene can still carry on doing this. It also prevents key related callbacks in sleeping Scenes from being fired (which resolves issue #3733 , thanks @JoeMoov2)
2018-06-08 15:16:35 +01:00
Richard Davey
8b7256cb86
Pointers now iterate the full camera list, starting at the top. Fix #3631 .
2018-06-04 22:14:58 +01:00
Richard Davey
6906e6bd15
Hundreds more jsdocs completed.
2018-06-04 15:19:25 +01:00
Richard Davey
7c0c3cd5a8
Updated hitTest call and added jsdocs
2018-06-04 13:23:51 +01:00
Richard Davey
f79ee26945
Proxy to the dom callback methods
2018-05-30 00:33:28 +01:00
Richard Davey
45c373f9f4
Multi-touch support working properly up to 10 pointers and mouse re-enabled.
2018-05-29 16:55:52 +01:00
Richard Davey
57e32761df
Started work on multi-touch support.
2018-05-25 19:28:18 +01:00
Richard Davey
57c2ccbf5e
Formatting fix and doc update
2018-05-24 14:03:29 +01:00
Richard Davey
37f75fd233
Merge pull request #3675 from tjb295/master
...
Bug: #3645 issue with clearing GameObjects from this._list. Called qu…
2018-05-24 13:51:55 +01:00
Richard Davey
8aa116ca4b
The dragend
event would be broadcast even if the drag distance or drag time thresholds were not met. Fix #3686
2018-05-22 21:24:50 +01:00
Thomas Back
67b2cea130
Bug: #3645 issue with clearing GameObjects from this._list. Called queueForRemoval() from the clear function in inputPlugin.js, since this.clear(Gameobject) called again in preupdate when removed from this._list, checked the case for if GameObject.input already set to null properties
2018-05-18 10:33:43 -07:00
Richard Davey
ef2b8d68b6
setInteractive now works on non-zero sized Containers. Sorting fixed.
2018-05-18 12:48:12 +01:00
Richard Davey
350cb037b7
All systems now register themselves with the new PluginCache
2018-05-15 12:51:50 +01:00
Richard Davey
be330e609e
Moved PluginManager to new location
2018-05-10 17:14:33 +01:00
Richard Davey
55965c748f
jsdoc fixes
2018-04-18 12:13:49 +01:00
Richard Davey
1be486fab4
destroy
only called once, no matter how many times the Scene restarts. Fix #3581
2018-04-17 12:25:45 +01:00
Richard Davey
07a55e5d1f
Removed debug call and merged Scene Systems boot and start sequences. Fix #3579
2018-04-17 02:34:07 +01:00
Richard Davey
ce7d67297f
Moving from 3.4.1 to 3.5.0 so we can release new camera fx and scene transitions
2018-04-15 12:44:47 +01:00
Richard Davey
b5ba6a6afb
Added enabled property
2018-04-14 04:23:11 +01:00
Richard Davey
6b2307594a
Scene plugin flow overhaul
...
Every Plugin has been updated to correctly follow the same flow through the Scene lifecycle. Instead of listening for the Scene 'boot' event, which is only dispatched once (when the Scene is first created), they will now listen for the Scene 'start' event, which occurs every time the Scene is started. All plugins now consistently follow the same Shutdown and Destroy patterns too, meaning they tidy-up after themselves on a shutdown, not just a destroy. Overall, this change means that there should be less issues when returning to previously closed Scenes, as the plugins will restart themselves properly.
2018-04-13 17:12:17 +01:00
Richard Davey
ad4109aece
Updated sortHandlerGO to handle any depth containers.
2018-04-12 02:11:40 +01:00
Richard Davey
60cd5ab22b
Tighter dropzone test and container warning
2018-04-11 11:25:31 +01:00
José Maria
100eafe1a4
fix drag/overlap interaction
...
changes: when dragend resets draglist.
this fixes overoutevents from a gameobject not firing after being drag.
2018-04-04 18:09:18 -03:00
Richard Davey
2b533d9870
Renamed file
2018-03-28 15:03:54 +01:00
Richard Davey
db613c793a
Merge branch 'master' of https://github.com/photonstorm/phaser
2018-03-21 03:17:00 +00:00
Richard Davey
8a3f06c898
Todo note
2018-03-21 03:16:55 +00:00
orblazer
dca7996179
Fix multiple types on Physics, Texture and Input
2018-03-20 16:10:19 +01:00
orblazer
41d7c4b715
Add callbacks on Input and Geom
2018-03-19 22:12:11 +01:00
Richard Davey
d0d05fa76e
Added descriptions and fixed some types
2018-03-19 13:22:30 +00:00
orblazer
0b1078fdb8
Update JSDoc on Input
2018-03-19 13:43:19 +01:00
Richard Davey
b6b03b85bd
The InputPlugin.processOverOutEvents method wasn't correctly working out the total of the number of objects interacted with, which caused input events to be disabled in Scenes further down the scene list if something was being dragged in an upper scene. Fix #3399
2018-03-16 14:57:19 +00:00
Richard Davey
f94ad4bbc6
InputPlugin.update now takes the totals from the drag and pointerup events into consideration when deciding to fall through to the Scene below. Fix #3333
2018-03-05 21:49:00 +00:00