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
d596fbd8c0
Added distance property.
2018-11-24 13:04:14 +00:00
Richard Davey
f6efccb29a
Added motionFactor property.
2018-11-24 12:52:20 +00:00
Richard Davey
c32a69acaf
Added midPoint and updateMotion calculations
2018-11-24 12:47:19 +00:00
Richard Davey
0f97be3624
Restored pointer smoothing
2018-11-24 12:47:01 +00:00
Richard Davey
390f34c8d9
Removed test code
2018-11-24 12:46:49 +00:00
Richard Davey
51a9b3bd4a
Recording positon tests
2018-11-23 19:06:59 +00:00
Richard Davey
21fa1960f3
Testing delta store
2018-11-23 19:06:47 +00:00
Richard Davey
b9fb1ddbf4
Added call to updateMotion
2018-11-23 18:58:13 +00:00
Richard Davey
1650857878
Removed debug tests
2018-11-23 16:26:49 +00:00
Richard Davey
370ccb6854
Removed debug properties.
2018-11-23 16:25:31 +00:00
Richard Davey
69a0dcc9cf
Remove debug data.
2018-11-23 16:23:47 +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
7c00bd4dc8
Added Pointer.velocity and Pointer.angle as they're so common for gesture calculations.
2018-11-20 17:03:22 +00:00
Richard Davey
0c43da0211
Fixed jsdoc link, added smooth factor setter and updated transformPointer
method.
2018-11-19 15:31:06 +00:00
Richard Davey
57084cb65e
Added Pointer.smoothFactor
property, and pass new boolean to input manager.
2018-11-19 15:30:42 +00:00
Richard Davey
578158cfcb
Updated docs
2018-11-13 17:04:31 +00:00
Richard Davey
8de7973c92
Added new captures array.
2018-11-13 15:09:18 +00:00
Richard Davey
837cc4e86d
Swapped hit area size detection priority
2018-11-12 23:19:49 +00:00
Richard Davey
696e3dc6b8
Prevent non-modified keys only
2018-11-12 23:01:30 +00:00
Richard Davey
d8b0bf7a29
Added metaKey support
2018-11-12 23:00:56 +00:00
Richard Davey
5f92b05fd7
Added game config keyboard capture flag for global preventDefault handling.
2018-11-12 22:22:12 +00:00
samme
7ff8d51f98
Docs for input and physics events
2018-10-24 12:14:44 -07:00
Richard Davey
37876f93ab
Merge pull request #4124 from wmateam/hotfix/forgotten-keycode
...
Add forgotten keycode and letters
2018-10-19 13:18:28 +01:00
Mohammad Javad Afkari
4b5d8d0878
+ add forgotten keyCode (firefox in windows)
2018-10-19 11:42:57 +03:30
Richard Davey
c9b7ce3938
The Mouse Manager class has been updated to remove some commented out code and refine the startListeners
method.
2018-10-18 22:04:41 +01:00
Mohammad Javad Afkari
0dfdeb1f92
+ forgotten keyCode (firefox)
2018-10-18 22:44:24 +03:30
Richard Davey
557955e057
Merging Scale Manager and Spine Plugin back into master
2018-10-18 14:59:27 +01:00
Richard Davey
61008f4eda
3.15.1 Release
2018-10-16 16:24:43 +01:00
Richard Davey
8db61274f7
Swapping to American-English spelling for consistency
...
~sigh~ it looks so wrong
2018-10-16 15:23:36 +01:00
Richard Davey
c23f701456
The Touch Manager, Input Manager and Pointer classes all now handle the touchcancel
event, such as triggered on iOS when activating an out of browser UI gesture, or in Facebook Instant Games when displaying an overlay ad. This should prevent issues with touch input becoming locked on iOS specifically. Fix #3756
2018-10-16 11:44:36 +01:00
Richard Davey
dab510f03d
The Touch Manager
has been rewritten to use declared functions for all touch event handlers, rather than bound functions. This means they will now clear properly when the TouchManager is shut down.
2018-10-16 11:44:15 +01:00
Richard Davey
8dff537b12
Added TOUCH_CANCEL constant.
2018-10-16 11:43:40 +01:00
Richard Davey
7daa8b9d45
Added touchcancel handler and wasCancelled property
2018-10-16 11:42:54 +01:00
Richard Davey
f29126c482
KeyboardPlugin.resetKeys
is a new method that will reset the state of any Key object created by a Scene's Keyboard Plugin.
2018-10-16 11:35:44 +01:00
Richard Davey
4b1c762296
Updated @memberOf to @memberof
2018-10-10 10:49:13 +01:00
Richard Davey
1e7251ba97
Commented out resize, soon to be removed
2018-10-10 10:47:13 +01:00
Richard Davey
a9063604dc
Replace @readOnly with @readonly
2018-10-09 13:40:00 +01:00
Richard Davey
b3f3f6a9b5
If a Game instance is destroyed without using the removeCanvas
argument, it would throw exceptions in the MouseManager
after the destroy process has run, as the event listeners were not unbound. They're not unbound, regardless of if the parent canvas is removed or not. Fix #4015
2018-10-01 12:55:54 +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
4ba3b37608
Added Pointer.getDistance method
2018-09-12 01:03:56 +01:00
Richard Davey
e01013d418
Formatting
2018-09-12 01:03:41 +01:00
Richard Davey
2df27a4db8
Resolution adjust
2018-09-04 15:13:48 +01:00
Richard Davey
89967af66b
Fixed Camera input resolution
2018-09-04 14:04:48 +01:00
Dhruv Yadav
0fd6d9d7dc
Fixed a trailing spaces issue from the addKey(string) whitespace update
2018-08-30 21:58:54 +05:30
Dhruv Yadav
75319233f2
Styling updates for addKey(string) whitespace fix
2018-08-30 21:53:19 +05:30
Dhruv Yadav
f29892b73f
Fixed addKeys(string) whitespace issue
2018-08-30 21:36:36 +05:30
Richard Davey
0c4de357cf
The Input Manager has gained a new private property _tempMatrix2
. This is used internally in the hitTest checks to avoid constant matrix creation.
2018-08-29 16:08:04 +01:00
Richard Davey
5c091f4ff9
Merge branch 'master' of https://github.com/photonstorm/phaser
2018-08-29 11:57:33 +01:00
Richard Davey
7041bd99ec
The InputManager.inputCandidate
method, which determines if a Game Object can be interacted with by a given Pointer and Camera combination, now takes the full camera status into consideration. This means if a Camera is set to ignore a Game Object you can now longer interact with it, or if the Camera is ignoring a Container with an interactive Game Object inside it, you cannot interact with the Container children any more. Previously they would interact regardless of the Camera state. Fix #3984
2018-08-29 11:57:30 +01:00
spontoreau
e922f378f4
Add CursorKeys type to Phaser.Input.Keyboard namespace
2018-08-26 22:28:21 +02:00
Richard Davey
6efb88b24b
Merge pull request #3900 from thejonanshow/upgrade_konami_code
...
Correct Konami code in createCombo documentation.
2018-08-20 18:30:18 +01:00
James Simpson
e4ccc8ec2d
Use correct frame name in pixel perfect hit test
...
`gameObject.frame.key` doesn't exist and was passing an undefined value to `getPixelAlpha`. This just changes it to the correct `gameObject.frame.name` value.
2018-08-16 12:23:10 -05:00
Jonan Scheffler
7c525b00fa
Correct Konami code in createCombo documentation.
2018-08-07 14:25:48 -07:00
Richard Davey
5aafad5f88
Don't process events if the manager has been removed
2018-07-31 11:33:18 +01:00
Richard Davey
6a3274b483
Removed redundant code
2018-07-19 13:21:59 +01:00
Richard Davey
20f1b37256
eslint fix and log update
2018-07-18 15:06:56 +01:00
Richard Davey
3bc6eba718
Removed incorrect resolution multiplication and used updated camera viewport
2018-07-18 14:31:45 +01:00
Richard Davey
fb4f28bb01
Testing resolution input
2018-07-17 23:26:40 +01:00
Richard Davey
61954dedcb
Added checkDown
method and related properties.
2018-07-13 11:13:32 +01:00
Richard Davey
cced09bad6
Added Pointer.prevPosition and getInterpolatedPosition method
2018-07-11 12:34:00 +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
Richard Davey
7aa46657c2
Tidying up jsdocs and changing float to number
2018-06-26 23:19:14 +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
6456ef10a6
Touch pointer total fix
...
The InputManager would only create 1 Pointer, even if Touch input was enabled in the config, which meant you couldn't use touch events unless you first called `addPointer` or specified one in the config. Now, it Touch is enabled in the config, it'll always create 2 pointers by default.
2018-06-13 13:51:04 +01:00
Richard Davey
9d52b6ac91
Fixed jsdoc errors
2018-06-12 17:05:39 +01:00
Richard Davey
d6c2b1104b
Replace KeyboardManager with KeyboardPlugin
2018-06-12 14:44:51 +01:00
Richard Davey
d058674a39
eslint fix
2018-06-11 14:42:50 +01:00
Richard Davey
f26bd913e9
Disable Camera.cull because #3679 excludes everything in view (and reverting it includes everything, so no point even culling atm)
2018-06-11 14:04:15 +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
c74c1cbb32
Added setDefaultCursor
method and custom css cursor handling.
2018-06-11 11:36:02 +01:00
Richard Davey
da436b0ce7
Added custom cursor property
2018-06-11 11:35:40 +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
44569fe20c
Added useHandCursor boolean
2018-06-08 19:04:01 +01:00
Richard Davey
140e743a8d
Added docs and fixed lint issue
2018-06-08 18:24:08 +01:00
Richard Davey
4304811dde
Added new Pixel Perfect input handler and makePixelPerfect
method.
2018-06-08 17:50:47 +01:00
Richard Davey
87c950a5ea
Fixed jsdocs
2018-06-08 16:18:39 +01:00
Richard Davey
529442f134
Only install the plugin if set in Scene settings / Game Config
2018-06-08 16:18:32 +01:00
Richard Davey
8148b14cc3
Removed references to the Gamepad
2018-06-08 16:18:20 +01:00
Richard Davey
680d34b3c4
Convert Gamepad Manager to an Input Plugin
2018-06-08 16:17:58 +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
11c5c35149
The new Input Plugin cache
2018-06-08 15:15:36 +01:00
Richard Davey
fc0069d9da
Removed all references to keyboard
2018-06-08 15:15:21 +01:00
Chris Andrew
f8ee35d46a
Fixed Gamepad lint errors, tweaked some Graphics docs.
2018-06-07 18:36:27 +01:00
Richard Davey
5f1fff6d48
Merge branch 'master' of https://github.com/photonstorm/phaser
2018-06-07 16:36:36 +01:00
Richard Davey
cfa436f158
Added new methods
2018-06-07 16:36:32 +01:00
Chris Andrew
8d926754cb
Fixed lint issues in Gamepad and GamepadManager.
2018-06-07 16:04:27 +01:00
Richard Davey
0180a684ca
Added leftStick and rightStick properties and shoulder buttons
2018-06-07 14:30:16 +01:00
Richard Davey
aa8d207485
Recoded gamepad event flow, moved to direct handlers, exposed first 4 pads, added full docs
2018-06-06 23:05:10 +01:00
Richard Davey
4c4a415dc3
Added docs, axis and button getters
2018-06-06 23:04:38 +01:00
Richard Davey
1518551c43
Added docs, destroy method, and updated update
2018-06-06 23:04:11 +01:00
Richard Davey
12b6825854
Added docs and destroy method
2018-06-06 23:03:59 +01:00
Richard Davey
b18183fb9f
Added docs
2018-06-06 23:03:44 +01:00
Richard Davey
a2c20a9aa7
lint fixes
2018-06-05 01:08:32 +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
719a2eedca
Interactive Objects inside of Containers would still fire their input events even if the Container (or any ancestor) was set to be invisible. Objects now check their ancestor tree during the input cull and now properly skip input events if not visible. Fix #3620
2018-06-04 21:04:27 +01:00
Richard Davey
f411edf987
Added jsdocs.
2018-06-04 17:11:53 +01:00
Richard Davey
c847f3459e
addKey and removeKey can take Key objects now. Plus finished the docs.
2018-06-04 17:03:31 +01:00
Richard Davey
7a01354a8a
Added to the docs
2018-06-04 16:49:11 +01:00
Richard Davey
97fa3ab2c0
KeyboardManager.addKeys can now take either an object or key codes, or a comma-separated string, as its input.
2018-06-04 16:49:03 +01:00
Richard Davey
9eec66654f
Keyboard Manager updates
...
* KeyboardManager.handler has been removed as it's no longer used internally.
* The KeyboardManager.captures property has been removed as it can be more effectively handled by polling the `keys` object instead.
* The Keyboard Manager will no longer process key down or up events if its `enabled` property is set to false.
* The Keyboard Manager will now call `event.preventDefault` on the native DOM event as long as the Key exists in the keys array and has its `preventDefault` property set to `true` (which is the default). This means you can now control specifically which key prevents default on the browser, where-as before every key added did so.
2018-06-04 15:57:52 +01:00
Richard Davey
f280fb118b
Typo fix
2018-06-04 15:57:41 +01:00
Richard Davey
6906e6bd15
Hundreds more jsdocs completed.
2018-06-04 15:19:25 +01:00
Richard Davey
61c5f76d63
Added transformPointer method which Pointer now uses.
2018-06-04 15:19:11 +01:00
Richard Davey
3b30fcff89
Added jsdocs
2018-06-04 13:24:47 +01:00
Richard Davey
7c0c3cd5a8
Updated hitTest call and added jsdocs
2018-06-04 13:23:51 +01:00
Richard Davey
4115b10c80
Added jsdocs
2018-06-04 13:23:34 +01:00
Richard Davey
285b811625
Pointer has two new properties worldX
and worldY
which contain the position of the Pointer, translated into the coordinate space of the most recent Camera it interacted with.
2018-06-04 13:23:27 +01:00
Chris Andrew
fd715f9a34
Fixed lint error in InputManager.update().
2018-05-31 15:19:35 +01:00
Richard Davey
594fc3e27b
Added new dom callback support, streamlined the event flow, moved to consts
2018-05-30 00:33:51 +01:00
Richard Davey
f79ee26945
Proxy to the dom callback methods
2018-05-30 00:33:28 +01:00
Richard Davey
bdc95217ae
Calls new manager queue methods
2018-05-30 00:33:16 +01:00
Richard Davey
5db2bf5cbd
Moved the event switch block from strings to consts
2018-05-30 00:32:45 +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
20d702c011
Added identifier properties for multi-touch
2018-05-25 19:28:02 +01:00
Richard Davey
700a26a196
Input systems listen to Input Manager events rathern than being directly hooked in
2018-05-25 19:27:26 +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
4c1703768d
Docs update
2018-05-18 17:37:20 +01:00
Richard Davey
ef2b8d68b6
setInteractive now works on non-zero sized Containers. Sorting fixed.
2018-05-18 12:48:12 +01:00
Richard Davey
2f4358fed4
The keycodes for 0 to 9 on the numeric keypad have been added. You can now use them in events
2018-05-15 15:57:26 +01:00
Richard Davey
350cb037b7
All systems now register themselves with the new PluginCache
2018-05-15 12:51:50 +01:00
Richard Davey
d595da49fd
Now use the prestep event to update instead
2018-05-11 01:50:02 +01:00
Richard Davey
be330e609e
Moved PluginManager to new location
2018-05-10 17:14:33 +01:00
Richard Davey
349a95bc4b
Updating to 3.6.0
2018-04-19 14:45:45 +01:00
Richard Davey
895c9f9694
Missing module fix
2018-04-19 12:39:28 +01:00
Richard Davey
32ce8d7947
jsdoc fixes and removed un-used ResetKey file.
2018-04-19 12:30:38 +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
18585de81d
Lots of jsdoc fixes
2018-04-16 14:43:24 +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
5612336d47
Containers flag
2018-04-12 22:46:46 +01:00
Richard Davey
2e722b0a92
debugging tests
2018-04-12 16:28:14 +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
Richard Davey
04990d6870
Input checks for container parents
2018-04-09 16:42:51 +01:00
Christian Panadero
c08f769351
Add keyboardManaged#createCursorKeys typedefs
2018-04-06 18:17:58 +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
c251eceaf6
jsdoc fixes
2018-04-04 14:43:53 +01:00
Richard Davey
11512e1db2
Keyboard.JustDown and Keyboard.JustUp were being reset too early, causing them to fail when called in update
loops. Fix #3490
2018-04-03 16:33:13 +01:00
Richard Davey
316da3f2d9
jsdocs update. Fix #3477
2018-04-03 14:08:22 +01:00
Richard Davey
2a35a20fcb
Swapped for enum
2018-03-30 14:16:42 +01:00
Richard Davey
a86fc19d3c
jsdoc fix
2018-03-30 14:12:09 +01:00
Richard Davey
71045265ae
The Gamepad Axis getValue
method now correctly applies the threshold and zeroes out the returned value.
2018-03-30 12:33:45 +01:00
Richard Davey
88a228e226
jsdoc fix
2018-03-30 12:33:31 +01:00
Richard Davey
f6167f6fcf
The GamepadManager now extends EventEmitter directly, just like the KeyboardManager does.
2018-03-30 12:03:06 +01:00
Richard Davey
19f7e2589a
jsdoc fix
2018-03-30 12:02:08 +01:00
Richard Davey
91008232ad
jsdoc fixes
2018-03-29 13:12:07 +01:00
Richard Davey
747f09af86
jsdoc fixes
2018-03-28 15:04:09 +01:00
Richard Davey
2b533d9870
Renamed file
2018-03-28 15:03:54 +01:00
orblazer
d0e1320cbe
Add generic types and fix types on Input and Structs
2018-03-27 15:59:49 +02:00
Richard Davey
0ef92e1172
Merge branch 'pr/3439'
2018-03-21 16:06:56 +00:00
orblazer
439df07fd5
Fix "object" type on GameObjects and Input
2018-03-21 12:19:31 +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
7fba122321
Fix "any" types
2018-03-20 17:15:49 +01:00
orblazer
dca7996179
Fix multiple types on Physics, Texture and Input
2018-03-20 16:10:19 +01:00
orblazer
b4a30b8e43
Add callbacks on GameObjects
2018-03-19 22:27:16 +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
cc0998660e
Updated jsdocs
2018-03-18 13:43:37 +00: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
ee1e4f1e90
InputManager.hitTest will now factor the game resolution into account, stopping the tests from being offset if resolution didn't equal 1. #3376
2018-03-16 12:49:02 +00:00
Richard Davey
77357dbde0
jsdoc fix #3377
2018-03-16 12:39:39 +00:00
José Maria
128691b50d
set default gamepad button threshold to 1
...
this.threshold = 0 was making all gamepad buttons to be always pressed down (this.pressed = true).
this.threshold = 1 will correct the issue and in the case of analogue buttons it will only emit the event when the 'pressure' is at max.
2018-03-12 14:04:04 -03: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
Richard Davey
af212a1837
Merge pull request #3279 from squaresun/master
...
Fix KeyboardManager keydown events keeps firing
2018-03-05 12:21:39 +00:00
Richard Davey
4d16b0c00a
eslint fixes
2018-03-05 01:45:28 +00:00
Richard Davey
1f8d0c80f9
Fixed array access
2018-03-01 04:13:30 +00:00
Richard Davey
acc4922027
Fixes to the InputPlugin re: drop zones and addition of setInteractive argument.
2018-03-01 02:46:17 +00:00
Richard Davey
550e53b81b
Fixed InputManager.updateBounds
so it factors in the document element position.
...
Also added `InputManager.resize` method, as the scale wouldn't ever be updated in the update loop if no interactive objects exist.
2018-02-28 14:27:28 +00:00
dominic
af7d619dc3
Simplify global key down emit check
2018-02-25 21:16:05 +08:00
squaresun
9af8cdcea6
Fix key.repeats not increased when key holding down
2018-02-25 21:03:58 +08:00
squaresun
c5514bcab7
Fix KeyboardManager keydown events keeps firing #3239
2018-02-24 18:20:36 +08:00
Richard Davey
b57ab091c1
The KeyCode FORWAD_SLASH
had a typo and has been changed to FORWAD_SLASH
. Fix #3271 (thanks @josedarioxyz)
2018-02-22 01:59:32 +00:00
Richard Davey
50dac412be
eslint fixes and console removal
2018-02-16 19:08:50 +00:00
Richard Davey
d23688c3e4
Added eslint fixes and overrides
2018-02-16 18:44:07 +00:00
Richard Davey
86f00eeb52
eslint fixes
2018-02-16 18:17:51 +00:00
Richard Davey
512c8df232
Updated jsdocs
2018-02-13 01:13:12 +00:00
Richard Davey
2813ac8162
Moved PluginManager and merged configs into single root file for easier changing.
2018-02-12 23:03:48 +00:00
Richard Davey
d1f5f8a82b
Added jsdocs
2018-02-12 16:01:21 +00:00
Richard Davey
c9742b6f8a
Added jsdocs
2018-02-10 02:08:53 +00:00
Richard Davey
40689d1e35
Updated jsdocs.
2018-02-07 15:27:21 +00:00
Richard Davey
2a86400a28
Added in jsdocs
2018-01-31 13:54:44 +00:00
Richard Davey
a802914243
Added in destroy methods for all managers and invoked them from Game
2018-01-31 03:38:10 +00:00
Richard Davey
a6dbacbc20
Added jsdocs.
2018-01-26 12:43:51 +00:00
Richard Davey
fabaa493ef
jsdoc work
2018-01-26 06:55:15 +00:00
Richard Davey
cb2891db8a
Added jsdocs to the Device inspector, removed out-dated properties and changed case of Device access
2018-01-25 17:03:35 +00:00
Richard Davey
cb3166850e
Fixed issue with Keyboard events for single key presses. Added new KeyMap.
2018-01-23 14:37:32 +00:00
Richard Davey
eb3c9fe341
Fix for the read-only DOMRect issue flagged in #3176
2018-01-22 12:04:14 +00:00
Richard Davey
d9da905230
Added XBox360 Controller config ( closes #3175 )
2018-01-20 14:25:28 +00:00
Richard Davey
05b45f1f9c
Added keycodes ( closes #3174 )
2018-01-20 14:22:41 +00:00
Richard Davey
4e05ad0655
The Input system will now order input based on the scenes from top to bottom
...
If the global top only flag is on and a scene consumes an input event then they won't flow any further down the scene list. This is optional (but on by default), allowing you to now correctly create a UI Scene above a game scene without the input events polluting one to the other.
2018-01-20 04:44:54 +00:00
Richard Davey
2deb9edc9e
Plugins now check to see if the Scene is already booted and adapt accordingly.
2018-01-18 14:00:31 +00:00
Richard Davey
5a333bc2fd
Updated to new Plugin format, removed injection and mapping
2018-01-18 05:18:09 +00:00
Richard Davey
e017a71f32
Game emits a boot event, which its managers listen for
2018-01-18 05:16:52 +00:00
Richard Davey
dbfd73dea1
Pointer.reset no longer resets the isDown
state or buttons
2018-01-18 00:59:38 +00:00
Richard Davey
ad49a01271
Fixed rogue input reference and hitTest signature
2018-01-16 23:50:01 +00:00
Richard Davey
f9a7939812
Lots of work migrating to the new plugin system, fixing references and exposing on the namespace
2018-01-16 22:28:29 +00:00
Dan Flettre
36de5e8805
Pass event to ProcessKeyCombo
2018-01-16 11:24:40 -06:00
Richard Davey
26fd3ee661
Renamed input manager files and refs.
2018-01-16 16:14:21 +00:00
Richard Davey
b4a01bb877
Moved file.
2018-01-16 16:02:11 +00:00
Richard Davey
08f3e70b6d
Merged Input Manager source and updated paths.
2018-01-16 16:00:37 +00:00
Richard Davey
2c5405b7e3
Moved GIM
2018-01-16 15:47:53 +00:00
Richard Davey
42409762e9
Merged Input Manager source.
2018-01-16 15:46:49 +00:00
Richard Davey
696643051a
Fixed drag events
2018-01-14 21:26:14 +00:00
Richard Davey
f9a1e27334
Removed un-used event files and references.
2018-01-12 17:20:16 +00:00
Richard Davey
874a174af7
Fixed lint issue.
2018-01-12 17:20:00 +00:00
Richard Davey
c625b8735b
Updated to using Event Emitter for all key managers and game objects. Events are now dispatched directly using arguments instead of Event objects, all managers updated to emit directly.
2018-01-12 17:09:21 +00:00
Richard Davey
296efe0e07
Removed input callbacks as all handled via events now.
2018-01-12 17:09:20 +00:00
Dan Flettre
16b672e291
set data to KeyCombo for KeyComboMatchEvent
2018-01-11 18:14:45 -06:00
Richard Davey
d8f1ba03e9
Moved repository location
2018-01-09 21:43:56 +00:00
Richard Davey
0d90f75b5f
Splitting the dev branch up into versions.
2016-11-22 01:36:56 +00:00
Richard Davey
13d8f332f4
Drag events.
2016-11-10 00:53:29 +00:00
Richard Davey
fb8da7ac08
Fixed transform look-up.
2016-11-10 00:41:15 +00:00
Richard Davey
89885dcb7c
Refactored the Input Manager.
2016-11-10 00:10:39 +00:00
photonstorm
1e15012a91
PIXI.CanvasPool has been moved into the Phaser utils
folder, and renamed to Phaser.CanvasPool
. All references to PIXI.CanvasPool have been updated to match the new namespace.
2016-09-28 12:53:04 +01:00
photonstorm
ad0e4aca2e
Large batch of jshint fixes.
2016-08-25 13:03:41 +01:00
photonstorm
04e70e820c
Updated KeyCode docs placement #2653
2016-08-18 15:35:43 +01:00
photonstorm
94498fcd32
The InputHandler.flagged property has been removed. It was never used internally, or exposed via the API, so was just overhead.
2016-07-11 14:17:41 +01:00
photonstorm
ee202667ed
Huge docs update for all of the Game Object events.
2016-07-08 11:28:30 +01:00
photonstorm
cb0861d881
The canvas created by Phaser.Debug for use when displaying debug data is no longer stored in the CanvasPool, and is instead a stand-alone canvas, free from ever being re-used by another game object.
2016-07-04 12:56:52 +01:00
photonstorm
b24de1e561
Polygon.contains would only work with non-flattened Polygon objects. It now works with both flat and non-flat Polygons.
...
Graphics objects enabled for input would fail to do anything if a Phaser Polygon was given to the Graphics object (which it was in nearly all cases), as it wouldn't detect input correctly with flattened polygons (thanks @symbiane #2591 )
2016-06-27 14:51:25 +01:00
Richard Davey
cd8bb5a216
Removed keyCode modifier ( #2542 )
2016-06-09 22:03:09 +01:00
Richard Davey
57642afc24
Fixed keyboard issue.
2016-06-09 20:55:21 +01:00
photonstorm
88f47e2497
Keyboard now uses a new internal method getKeyCode
to normalize the key code value based on browser support. It first checks for event.key
, then event.keyIdentifier
and finally event.keyCode
(thanks @SVasilev #2542 )
2016-06-09 16:37:32 +01:00
photonstorm
a65f9c7e4b
Group.onChildInputDown is a new Signal that you can listen to. It will be dispatched whenever any immediate child of the Group emits an onInputDown
signal itself. This allows you to listen for a Signal from the Group, rather than every Sprite within it.
...
Group.onChildInputUp is a new Signal that you can listen to. It will be dispatched whenever any immediate child of the Group emits an `onInputUp` signal itself. This allows you to listen for a Signal from the Group, rather than every Sprite within it.
Group.onChildInputOver is a new Signal that you can listen to. It will be dispatched whenever any immediate child of the Group emits an `onInputOver` signal itself. This allows you to listen for a Signal from the Group, rather than every Sprite within it.
Group.onChildInputOut is a new Signal that you can listen to. It will be dispatched whenever any immediate child of the Group emits an `onInputOut` signal itself. This allows you to listen for a Signal from the Group, rather than every Sprite within it.
2016-06-09 16:19:11 +01:00
photonstorm
c64749fef2
Added missing properties.
2016-06-09 14:54:39 +01:00
photonstorm
92d3a5efa8
Adds a callback that is fired every time 'Pointer.processInteractiveObjects' is called.
...
The purpose of `processInteractiveObjects` is to work out which Game Object the Pointer is going to
interact with. It works by polling all of the valid game objects, and then slowly discounting those
that don't meet the criteria (i.e. they aren't under the Pointer, are disabled, invisible, etc).
Eventually a short-list of 'candidates' is created. These are all of the Game Objects which are valid
for input and overlap with the Pointer. If you need fine-grained control over which of the items is
selected then you can use this callback to do so.
The callback will be sent 3 parameters:
1) A reference to the Phaser.Pointer object that is processing the Items.
2) An array containing all potential interactive candidates. This is an array of `InputHandler` objects, not Sprites.
3) The current 'favorite' candidate, based on its priorityID and position in the display list.
Your callback MUST return one of the candidates sent to it.
2016-06-09 14:49:10 +01:00
photonstorm
7c2d1d4ab8
Pointer.interactiveCandidates is a new Array that is erased and re-populated every time this Pointer is updated. It contains references to all of the Game Objects that were considered as being valid for processing by this Pointer, during the most recent update. To be valid they must have suitable a priorityID
, be Input enabled, be visible and actually have the Pointer over them. You can check the contents of this array in events such as onInputDown
, but beware: it is reset every update.
...
Pointer.swapTarget allows you to change the `Pointer.targetObject` object to be the one provided. This allows you to have fine-grained control over which object the Pointer is targeting.
2016-06-09 14:36:15 +01:00
photonstorm
fa43bec19f
PIXI.DisplayObjectContainer.ignoreChildInput is a new property. If true
then the children will _not_ be considered as valid for Input events. Because this has been applied to DisplayObjectContainer
it means it's available in Group, Sprite and any other display level object. Using this boolean you can disable input events for all children in an entire Group, without having to iterate anything or deep-set flags.
...
InputHandler._pointerOverHandler and _pointerOutHandler have new arguments `silent` - if `true` then they will not dispatch any Signals from the parent Sprite.
2016-06-09 14:32:56 +01:00
photonstorm
e8e7e27184
The DisplayObject.renderOrderID
used to run in reverse. I.e. in a display list with 10 sprites on it, the first sprite (at the bottom of the list, rendering behind all the others) would have a renderOrderID
of 9, where-as the top-most sprite, rendering above all others, would have a renderOrderID
of 0. While this didn't cause any side-effects internally, it's arguably illogical. So the process has been reversed, and renderOrderID
s are now accumulative, starting at zero each frame, and increasing as it iterates down the display list. So the higher the ID, the more "on-top" of the output the object is.
...
`InputHandler.validForInput` and `Pointer.processInteractiveObjects` have been updated to reflect the new `renderOrderID` sequence (see above).
2016-06-09 12:32:37 +01:00
Richard Davey
1956d3584e
InputHandler.dragStopBlocksInputUp is a boolean that allows you to control what happens with the input events. If false
(the default) then both the onInputUp
and onDragStop
events will get dispatched when a Sprite stops being dragged. If true
then only the onDragStop
event is dispatched, and the onInputUp
is skipped.
2016-06-07 02:21:12 +01:00
Richard Davey
913936f080
jshint fix.
2016-06-07 01:50:38 +01:00
Richard Davey
66b846cbdb
InputHandler.dragDistanceThreshold gives you more fine control over when a Sprite Drag event will start. It allows you to specify a distance, in pixels, that the pointer must have moved before the drag will begin.
...
InputHandler.dragTimeThreshold gives you more fine control over when a Sprite Drag event will start. It allows you to specify a time, in ms that the pointer must have been held down for, before the drag will begin.
InputHandler.downPoint is a new Point object that contains the coordinates of the Pointer when it was first pressed down on the Sprite.
2016-06-07 01:28:06 +01:00
Richard Davey
8da3395407
Merge pull request #2471 from cwleonard/gamepad
...
Gamepad problems in Google Chrome
2016-06-02 15:46:03 +01:00
photonstorm
9b9e398c73
InputHandler.checkPointerDown had an incorrect single pipe character |, instead of an OR check ||, and an isDown
check, causing Button Over events to fail (thanks @pengchuan #2486 )
2016-05-23 13:03:11 +01:00
photonstorm
74af2079b6
Swap to use worldScale instead of worldTransform.
2016-05-11 16:37:31 +01:00
photonstorm
9649f714bb
InputHandler.checkPointerDown and checkPointerOver will now test the worldTransform scale property of a Sprite. If zero it will fast return, where-as before it would incorrectly report an up event (thanks @jaapaurelio #2466 )
2016-05-11 12:25:35 +01:00
Casey Leonard
9ede913609
gamepad bugs in Chrome
...
fixes issues with being unable to connect a gamepad in Chrome and losing
the gamepad when focus is lost to the game
2016-05-07 19:07:16 -04:00