Commit graph

802 commits

Author SHA1 Message Date
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 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
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
photonstorm
829b1e7ad1 Events.onDragUpdate has a new 6th property fromStart which is a boolean. You can determine if the event was the result of the start of a drag movement or not by polling it (#2155) 2016-02-04 17:00:30 +00:00
photonstorm
882c8b8d40 InputHandler.consumePointerEvent has been removed, as it was never used internally anyway, so was misleading (thanks @GregoryAveryWeir #2227) 2016-02-04 16:46:35 +00:00
puzzud
c31d8dc78a Reinstated fix for #1285, regarding setting Phaser.SinglePad.callbackContext in addCallbacks method. 2015-10-24 20:13:49 -04:00
puzzud
492fdc98eb Phaser.SinglePad.addCallbacks now sets member callbackContext to the first parameter, context. 2015-10-24 20:01:44 -04:00
Paul
531cd49f06 Created Phaser.KeyCode enumeration / pseudo-type
- Impact: none/foward-migration; fully backwards compatible

- Moves the key code constants in Keyboard to a KeyCode type.
  - Duplicates the KeyCodes in the Keyboard object for backward
    compatiblity.
  - KeyCode properties are listed in documentation

- Updates documentaion to refer to Phaser.KeyCode

- Adds in future 'keycode' expansion capabilities,
  as indicated by the KeyCode documentation, if the constants
  are used in code.

Closes #2031
2015-09-29 17:59:26 -07:00
Richard Davey
c1d0ec0f34 Local vars to reduce file size. 2015-09-29 16:06:44 +01:00
Richard Davey
d0930bc161 Keyboard.addCallbacks didn't check to see if the arguments were null, only if they were undefined making the jsdocs misleading. 2015-09-23 23:18:36 +01:00
photonstorm
2633f8ce6d InputHandler.validForInput now checks if the game object has input.enabled set to false and doesn't validate it for input if that's the case. 2015-09-22 15:20:23 +01:00
Richard Davey
9f08442304 Merge pull request #2103 from pnstickne/wip-2062
Fixes #2062 and forward-support for pointer modes
2015-09-22 17:14:32 +03:00
photonstorm
27457c2b0f Touch.addTouchLockCallback has a new argument onEnd which allows the callback to fire either on a touchstart or a touchend event. 2015-09-22 11:46:08 +01:00
Paul
31e5202eff Fixes #2062 and forward-support for pointer modes
Impact:
  - *none for touch devices*
  - *low* / 'expected behavior' for mouse devices

Adds a PointerMode enumeration value for better simple input
discrimination in the future.

The added Button#justReleasedPreventsOver controls if a just-release event
on a pointer prevents it from being able to trigger an over event.

The default value is PointerMode.CONTACT which means this 'release guard'
applies only to touch inputs.

It should fix #2062 as Mouse (PointerMode.CURSOR) input is not caught in the default.

Also expands Button#forceOut to accept a PointerMode value such that it
can be controlled per-input mode.

This is a configurable partial revert of a possibly rogue commit in 2.1.3
and the behavior persists through 2.4.3.
2015-09-22 01:12:43 -07:00
Richard Davey
f8ef567641 Merge pull request #2081 from pnstickne/wip-inputhandler-docs2
Fixes incorrect "Pointer" type documentation and parameter names in InputHandler
2015-09-14 13:15:08 +03:00
Paul
4474b8fde3 Fixes incorrect type and parameter names
- Impact: none; documentation and local variable names only

- Incorrect documentation that claimed to take a Pointer when they really
  took a Pointer ID is fixed

- Also updates parameter names for consistenct/clarity
2015-09-12 17:32:40 -07:00
Richard Davey
96dae9bf2e Merge pull request #2055 from pmcmonagle/dev
Added useCapture flags to removeEventListener where approriate
2015-09-10 00:03:19 +03:00
Richard Davey
6c9e43ad36 DeviceButton was setting a duration property on itself, which went against the read only getter of duration (thanks @winstonwolff) 2015-09-09 21:58:50 +01:00
Paul McMonagle
ad38fff083 Reordered removeEventListener calls to match addEventListener order 2015-09-04 17:11:50 -04:00
Paul McMonagle
c2bf22ef7c Added useCapture flags to removeEventListener where approriate
Event listeners added with true passed in as the useCapture flag are only removed when true is also passed into the removeEventListener call. Adding this flag to the stop method where appropriate fixes a memory leak in IE where events on window are never removed.

See https://msdn.microsoft.com/en-us/library/ff975250(v=vs.85).aspx
2015-09-02 14:36:49 -04:00
photonstorm
99fbf35236 * Pointer.withinGame is no longer automatically set to 'false' in the Pointer.stop method - it will check if the Pointer actually is within the stage bounds and only set withinGame to false if it's outside the bounds.
* MSPointer now has an `onPointerUpGlobal` handler for when the pointer is released outside of the canvas, but still within the browser window. This means that in IE11 a Sprites `onInputUp` event will now trigger even when outside the canvas (thanks @bvargish #2000)
* MSPointer now has handles for the pointer being over and outside of the canvas element, which sets the Pointer.withinGame booleans accordingly. It also triggers the Mouse.mouseOutCallback and Mouse.mouseOverCallback callbacks respectively.
* The MSPointer event listeners have been renamed to all lower-case, i.e. 'pointerDown' is now 'pointerdown'.
2015-08-20 12:47:50 +01:00
photonstorm
50516e3d34 Testing CanvasPool. 2015-08-03 14:33:12 +01:00
Richard Davey
a56cd31638 jsdoc updates. 2015-07-31 18:39:37 +01:00
photonstorm
1393c8a98b InputHandler.pointerOver would get stuck in an 'isOver' state if the Sprite changed its visibility during an onUp callback (thanks @Cristy94 #1955) 2015-07-30 14:45:34 +01:00
photonstorm
a4321e56e3 * Pointer.isDown was reset before the Input.onUp event, meaning you couldn't get the Pointer.duration from within the event.
* Pointer.isDown was reset before the Input tap calculations, meaning onTap wouldn't dispatch (thanks @stovenator #1953)
2015-07-30 14:08:26 +01:00
photonstorm
962066102c Pointer fixes for Linux FireFox (#1932 #1944) 2015-07-28 14:18:36 +01:00
photonstorm
fd6c29e451 Pointer.move would accidentally reset the isDown status of the Pointer on touch devices, which broke things like Sprite input events when built to native apps or run locally (#1932 #1943) 2015-07-27 13:34:06 +01:00
Richard Davey
2e12cd70ed DeviceButton would try to set altKey, shiftKey and ctrlKey even for Joypads (thanks @zatch #1939) 2015-07-26 13:01:24 +01:00
Richard Davey
aeda044143 Safari on OSX wouldn't recognise button presses on trackpads (thanks JakeCake) 2015-07-23 20:54:59 +01:00
photonstorm
f15fe6706c All undefined argument checks were changed from if (typeof x === 'undefined') to if (x === undefined) removing the typeof check and saving some bytes across the codebase in the process. 2015-07-22 10:37:15 +01:00
photonstorm
92486f85d9 Removed console.log. 2015-07-20 14:01:45 +01:00
photonstorm
cf74eaa396 MSPointer now checks the pointerType property of the DOM event and if it matches 'mouse' it will update Input.mousePointer, rather than Input.pointer1 (or whatever the next free Pointer was). 2015-07-20 14:01:21 +01:00
photonstorm
7ffbeb8a2a Added Mouse consts back in (#1903) 2015-07-20 12:38:41 +01:00
photonstorm
b470601faf Tidying up docs. 2015-07-17 17:50:53 +01:00
photonstorm
c2812a7b5c jshint fixes and renamed float to padFloat. 2015-07-17 14:11:11 +01:00
photonstorm
5d0788b47d Consolidated all Pointer buttons into the new DeviceButton class. 2015-07-17 13:52:09 +01:00
photonstorm
32ea5bee03 Fixes #1916 - but am now working on the DeviceButton class to tidy it all up. 2015-07-17 12:24:08 +01:00
Richard Davey
8b165b9225 Reduce booleans. 2015-07-12 16:19:23 +01:00
Richard Davey
41d702b485 Pointer.isUp and isDown are now set in the updateButtons method based on the state of ANY button on the device, jsdocs also updated to reflect this (#1902) 2015-07-12 11:56:25 +01:00
Richard Davey
b0a8d3d78c Mouse.button and MSPointer.button properties removed and jsdocs expanded to explain the correct path to now take (#1903) 2015-07-12 11:47:20 +01:00
Richard Davey
03e2f1a2b5 On trackpads Pointer.updateButtons now checks for the ctrlKey being pressed and sets rightButton to true as a result. 2015-07-09 19:26:00 +01:00
photonstorm
89c87bc9db Updated addKeys to take an object instead of 2 arrays - it's just cleaner and reads easier in code. 2015-07-09 14:28:58 +01:00
photonstorm
a19479d948 jsdocs update. 2015-07-07 16:58:41 +01:00
photonstorm
157df30696 Pointer button handling has been given an overhaul. It has the following new boolean properties: leftButton, rightButton, middleButton, backButton, forwardButton and eraserButton. So you can now easily check which buttons are active and build right or middle click support into your games. The Pointer object normalises these properties for you, regardless if they came from a MouseEvent or PointerEvent (thanks @youssefdetovernickr for the idea #1848) 2015-07-07 16:53:56 +01:00
photonstorm
ab092c5c14 Keyboard.addKeys is a practical way to create an object containing user selected hotkeys. For example: addKeys( [Phaser.Keyboard.W, Phaser.Keyboard.S, Phaser.Keyboard.A, Phaser.Keyboard.D], [ 'up', 'down', 'left', 'right' ] ); would return an object containing the properties up, down, left and right that you could poll just like a Phaser.Key object. (thanks @Mourtz #1857) 2015-07-02 14:15:06 +01:00
Richard Davey
755a247e31 Merge pull request #1857 from Mourtz/master
Implemented Keyboard.AddKeys function.
2015-07-02 13:54:18 +01:00
photonstorm
102c74e121 Deprecated the following:
* Camera.screenView
* ScaleManager.maxIterations
* ScaleManager.enterPortrait (see onOrientationChange)
* ScaleManager.enterLandscape (see onOrientationChange)
* ScaleManager.enterFullScreen (see onFullScreenChange)
* ScaleManager.leaveFullScreen (see onFullScreenChange)
* ScaleManager.fullScreenFailed (see onFullScreenError)
* ScaleManager.checkResize
* ScaleManager.checkOrientation
* ScaleManager.setScreenSize (see updateLayout)
* ScaleManager.setSize (see reflowCanvas)
* ScaleManager.checkOrientationState (see reflowCanvas)
* ScaleManager.orientation (see screenOrientation)
* Gamepad.disabled (see enabled)
* Input.currentPointers (see totalActivePointers)
* Input.disabled (see enabled)
* Keyboard.disabled (see enabled)
* Mouse.disabled (see enabled)
* Mouse.mouseMoveCallback (see Input.addMoveCallback)
* MSPointer.disabled (see enabled)
* Touch.disabled (see enabled)
* Cache.getUrl (see getURL)
* Math.truncate (see Math.trunc)
* Math.snapToInArray (see Phaser.ArrayUtils.findClosest)
* Math.interpolateFloat (see Math.linear)
* Math.normalizeLatitude (use Phaser.Math.clamp(lat, -90, 90))
* Math.normalizeLongitude (use Phaser.Math.wrap(lng, -180, 180))
* Math.chanceRoll (use Phaser.Utils.chanceRoll)
* Math.numberArray (use Phaser.ArrayUtils.numberArray)
* Math.numberArrayStep (use Phaser.ArrayUtils.numberArrayStep)
* Math.limitValue (use Phaser.Math.clamp)
* Math.randomSign (use Phaser.Utils.randomChoice(-1, 1))
* Math.angleLimit (use Phaser.Math.clamp)
* Math.getRandom (use Phaser.ArrayUtils.getRandomItem)
* Math.removeRandom (use Phaser.ArrayUtils.removeRandomItem)
* Math.floor (use Math.trunc)
* Math.ceil (use Phaser.Math.roundAwayFromZero)
* Math.shift (use Phaser.ArrayUtils.rotate)
* Math.shuffleArray (use Phaser.ArrayUtils.shuffle)
* Math.distanceRounded (do the rounding locally)
* Canvas.getOffset (see Phaser.DOM.getOffset)
* Canvas.getAspectRatio (see Phaser.DOM.getAspectRatio)
* TilemapLayer.tileColor (use TilemapLayer.debugSettings.missingImageFill)
* Phaser.ArrayList alias removed, now use Phaser.ArraySet
* Utils.transposeArray (see Phaser.ArrayUtils.transposeMatrix)
* Utils.rotateArray (see Phaser.ArrayUtils.rotateMatrix)
* Utils.shuffle (see Phaser.ArrayUtils.shuffle)
2015-06-17 03:14:31 +01:00
Alex Mourtziapis
7252666e9a fixed minor jshint warnings. 2015-06-15 04:35:06 +03:00
Alex Mourtziapis
9d16e3e9a0 Update Keyboard.js 2015-06-15 04:33:40 +03:00
Alex Mourtziapis
4cc3777d36 Fixed some Travis CI errors. 2015-06-15 00:41:37 +03:00