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
photonstorm
45118e7a60
Docs fix.
2016-05-04 23:34:15 +01:00
photonstorm
16378713b4
JSDocs update ( #249 )
2016-04-27 12:57:41 +01:00
photonstorm
7d9c817373
Dragging a Sprite while the camera was moving would slowly cause the Sprite position to become out of sync the further the camera moved. A Sprite being dragged now tracks the camera position during the drag update and adjusts accordingly (thanks @jeroenverfallie #1044 )
2016-04-19 01:54:24 +01:00
photonstorm
787111c12c
A Game Object with fixedToCamera = true
that was then set for Input, and enabled for dragging from its center (input.enableDrag(true)
) would throw an error upon being dragged (thanks @solusipse #2367 )
2016-04-07 00:44:53 +01:00
photonstorm
f40cfbe2ae
2015 - 2016.
2016-04-04 22:16:16 +01:00
photonstorm
d6942991bc
Docs update (in light of browser extensions causing us grief)
2016-04-04 22:06:15 +01:00
zeterain
a948dab895
Check for sprite destruction in onInputDown event.
...
This sprite might have been destroyed during the onInputDown event. Check to see if it was.
Also, set the pointer's dirty flag before the altered if-block just in case the function returns.
2016-03-22 15:54:41 -06:00
Stoneman1
4d587d3e40
Fixed issue with not removing mouseoutglobal eventlistener
2016-02-19 15:15:31 +02:00
Richard Davey
74fd042749
If the Mouse was over a Sprite and you then clicked it, it would dispatch another Over event. This is now surpressed if the Over event has already been dispatched previously (thanks @McFarts #2133 )
...
InputHandler.pointerOver could fail to return anything in some instances, now always returns a boolean.
2016-02-17 02:07:07 +00:00
Richard Davey
83a35e41d6
ctrl + click is now only considered a right-click if event.buttons = 1, this should allow you to use ctrl as a key modifier on Windows (and any device with a multi-button mouse attached) and still use ctrl + click on OS X / trackpads for a right-click (thanks @yuvalsv #2167 )
2016-02-17 01:46:55 +00:00
Richard Davey
1932515f56
Fixed a really nasty bug in Chrome OS X where a ctrl + click (i.e. simulated right-click) on a trackpad would lock up the Pointer leftButton, causing future clicks to fail. This is now handled by way of a mouseout listener on the window object, sadly the only way to force a mouseup in Chrome (thanks @KyleU #2286 )
2016-02-17 01:26:35 +00:00
Richard Davey
818c64291a
SinglePad.onDownCallback has been moved to the end of the method, so that DeviceButton.start is now called before the callback fires, meaning if you check the status of the button in the onDownCallback it will now be fully activated (thanks @suicidepills #2159 )
2016-02-04 22:46:18 +00:00