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