Commit graph

135 commits

Author SHA1 Message Date
Richard Davey
67679f58f6 Return actual booleans from button checks and reset buttons to zero correctly. 2019-01-23 23:00:29 +00:00
Richard Davey
8111d8062e Pointer.up and Pointer.down now use a hasOwnProperty check for the existance of the buttons property on the event, causing it to be set even if equal to zero, which it is when there are no buttons down 2019-01-23 22:34:48 +00:00
Richard Davey
aa341854c7 Happy New Year 2019-01-15 16:20:22 +00:00
Richard Davey
9a7058915c Removed dragState property. 2019-01-04 16:34:53 +00:00
Richard Davey
5b5b83d269 Added downElement and upElement properties 2018-11-29 13:44:18 +00:00
Richard Davey
524892f095 Fixed angle value and facing direction 2018-11-26 15:42:53 +00:00
Richard Davey
a74616b090 Added getDistanceX and getDistanceY 2018-11-26 15:35:18 +00:00
Richard Davey
41e64b9f53 Added time property, getDistance, getDuration and getAngle. 2018-11-26 13:11:24 +00:00
Richard Davey
b437efa642 Removed un-used function 2018-11-26 11:29:13 +00:00
Richard Davey
f51de18bb2 Updated docs and added quick bail-out clause 2018-11-26 11:27:02 +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
51a9b3bd4a Recording positon tests 2018-11-23 19:06:59 +00:00
Richard Davey
1650857878 Removed debug tests 2018-11-23 16:26:49 +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
57084cb65e Added Pointer.smoothFactor property, and pass new boolean to input manager. 2018-11-19 15:30:42 +00: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
7daa8b9d45 Added touchcancel handler and wasCancelled property 2018-10-16 11:42:54 +01: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
4ba3b37608 Added Pointer.getDistance method 2018-09-12 01:03:56 +01:00
Richard Davey
cced09bad6 Added Pointer.prevPosition and getInterpolatedPosition method 2018-07-11 12:34:00 +01:00
Richard Davey
61c5f76d63 Added transformPointer method which Pointer now uses. 2018-06-04 15:19:11 +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
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
20d702c011 Added identifier properties for multi-touch 2018-05-25 19:28:02 +01:00
Richard Davey
c251eceaf6 jsdoc fixes 2018-04-04 14:43:53 +01:00
orblazer
dca7996179 Fix multiple types on Physics, Texture and Input 2018-03-20 16:10:19 +01: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
50dac412be eslint fixes and console removal 2018-02-16 19:08:50 +00:00
Richard Davey
512c8df232 Updated jsdocs 2018-02-13 01:13:12 +00:00
Richard Davey
d1f5f8a82b Added jsdocs 2018-02-12 16:01:21 +00:00
Richard Davey
40689d1e35 Updated jsdocs. 2018-02-07 15:27:21 +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
dbfd73dea1 Pointer.reset no longer resets the isDown state or buttons 2018-01-18 00:59:38 +00: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
89885dcb7c Refactored the Input Manager. 2016-11-10 00:10:39 +00: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
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 renderOrderIDs 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
photonstorm
45118e7a60 Docs fix. 2016-05-04 23:34:15 +01:00
photonstorm
f40cfbe2ae 2015 - 2016. 2016-04-04 22:16:16 +01: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
c1d0ec0f34 Local vars to reduce file size. 2015-09-29 16:06:44 +01:00