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
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
Alex Mourtziapis
565d8e6e4a
Implemented Keyboard.AddKeys function.
2015-06-14 23:35:38 +03:00
photonstorm
2b0abb67dd
onDragUpdate is a new signal that is dispatched whenever a Game object enabled for input and drag is moved by a pointer (i.e. during a drag event). See the Phaser.InputHandler.enableDrag
docs for parameter details and the new Phaser Example.
2015-06-04 20:58:00 +01:00
photonstorm
fcb2dc8306
Added snapPoint value (currently unused)
2015-05-26 20:01:57 +01:00
photonstorm
5278c16acc
Swapped to using touchlock object.
2015-05-05 17:03:27 +01:00
photonstorm
4a91d97812
Input.addMoveCallback used to return the index of the callback entry in the internal moveCallbacks
array. However as callbacks were removed the indexes became invalid, potentially causing a future Input.deleteMoveCallback
to remove the wrong callback entirely or error. Input.deleteMoveCallback now takes the original callback and context as its parameters to ensure deletion safety.
2015-05-05 16:53:02 +01:00
photonstorm
f265f98eb4
Input.Touch.addTouchLockCallback allows you to add a callback that will be invoked automatically upon a touchstart event. This is used internally by the SoundManager and Video objects to handle mobile device unlocking, but is exposed publicly as well.
2015-05-05 16:24:49 +01:00
photonstorm
f032578f27
Removed Input.moveCallback
and Input.moveCallbackContext
as neither are used any longer. Use Input.addMoveCallback
.
2015-05-05 16:09:22 +01:00
photonstorm
b645b277aa
jsdoc fix.
2015-04-27 16:22:36 +01:00
photonstorm
8bca406889
Console update.
2015-04-13 11:58:44 +01:00
photonstorm
67039df214
jsdoc fixes.
2015-03-27 10:47:25 +00:00
photonstorm
ca752cc59c
jsdoc updates.
2015-03-23 08:13:59 +00:00
photonstorm
5a9b509b44
ArraySet.removeAll allows you to remove all members of an ArraySet and optionally call destroy
on them as well.
...
GameObject.input.dragStartPoint now stores the coordinates the object was at when the drag started. This value is populated when the drag starts. It can be used to return an object to its pre-drag position, for example if it was dropped in an invalid place in-game.
2015-03-19 00:51:13 +00:00
photonstorm
a69e53f901
Copyright date change.
2015-02-25 03:36:23 +00:00
photonstorm
f613e5882e
Allowed Keyboard and Gamepad to be optional.
2015-02-19 05:00:41 +00:00
photonstorm
8483eac6aa
Removing all use of _cache from all Game Objects.
2015-02-16 17:22:51 +00:00
photonstorm
9670c8aa86
InputHandler.enableDrag with a boundsRect set now takes into account the Sprites anchor when limiting the drag (thanks @unindented #1593 )
...
InputHandler.enableDrag with a boundsSprite set now takes into account both the Sprites anchor and the boundsSprite anchor when limiting the drag.
2015-02-16 15:49:46 +00:00
photonstorm
ae198e9364
InputHandler was using the wrong property in checkBoundsSprite
when fixedToCamera (thanks @yig #1613 )
2015-02-14 19:10:06 +00:00
photonstorm
aa2df803b7
Pointer.stop would call event.preventDefault
if Pointer._stateReset
was true
, which is always true
after a State has changed and before Pointer.start has been called. However this broken interacting with DOM elements in the case where the State changes and you immediately try to use the DOM element without first having clicked on the Phaser game. An additional guard was added so preventDefault
will now only be called if both _stateReste
and Pointer.withinGame
are true (thanks @satan6 #1509 )
2015-02-11 16:03:24 +00:00
photonstorm
c891d617d9
Swapped back to 2.2.2 expected setting.
2015-02-08 21:57:09 +00:00
photonstorm
9cdcdc7bc5
Device.touch checks if window.navigator.maxTouchPoints
is >= 1
rather than > 1, which now allows touch events to work properly in Chrome mobile emulation.
2015-02-05 06:12:20 +00:00
photonstorm
5bd231d532
JSDoc fixes.
2015-02-05 05:13:22 +00:00
photonstorm
8dec37107e
MSPointer.capture allows you to optionally event.preventDefault the pointer events (was previously always on)
...
MSPointer.event now stores the most recent pointer event.
MSPointer.pointerDownCallback, pointerMoveCallback and pointerUpCallback all allow you to set your own event based callbacks.
2015-02-05 05:12:00 +00:00
photonstorm
f55ba6755f
jsdoc fix
2015-02-03 21:32:39 +00:00
photonstorm
3eba508382
Sprite.events.onDragStart has 2 new parameters x
and y
which is the position of the Sprite before the drag was started. The full list of parameters is: (sprite, pointer, x, y)
. This allows you to retain the position of the Sprite prior to dragging should dragFromCenter
have been enabled (thanks @vulvulune #1583 )
2015-02-03 21:32:39 +00:00
Richard Davey
a2854d21fd
Merge pull request #1580 from integricho/fix#1551
...
fix #1551 - detect mouseup on tilesprites
2015-02-03 21:16:33 +00:00
photonstorm
7003b65df6
Added missing properties to the InputHandler prototype, reducing hidden class modifications.
2015-02-03 20:28:18 +00:00
Andrean Franc
b52b765c53
fix #1551 - detect mouseup on tilesprites
2015-01-28 19:31:36 +01:00
photonstorm
d6ea8fb956
jsdoc updates (spelling mistakes, code formatting, etc)
2015-01-28 17:18:33 +00:00
photonstorm
c1eb456ed2
Mouse.mouseMoveCallback is flagged as deprecated.
2015-01-02 04:14:44 +00:00
Richard Davey
81f356c235
Merge pull request #1386 from pnstickne/wip-docs-1130
...
Assorted documentation/consistency updates
2014-12-01 12:07:10 +00:00
Paul
d15037e283
Event-Signal object count optimization
...
There are a bunch of signals added for Sprites; more when input is
enabled. However, very few of these signals are ever actually used. While
the previous performance update related to Signals addressed the size of
each Signal object, this update is to reduce the number of Signal objects
as used by the Events type.
As a comparison the "Particle: Random Sprite" demo creates 3200+ Signals;
with this change there less than 70 signals created when running the same
demo. (Each Event creates at 8 signals by default, and there is an Event
for each of the 400 particles.) While this is an idealized scenario, a
huge amount (of albeit small) object reduction should be expected.
It does this by creating a signal proxy property getter and a signal
dispatch proxy. When the event property (eg. `onEvent`) is accessed a new
Signal object is created (and cached in `_onEvent`) as required. This
ensures that no user code has to perform an existance-check on the event
property first: it just continues to use the signal property as normal.
When the Phaser game code needs to dispatch the event it uses
`event.onEvent$dispath(..)` instead of `event.onEvent.dispatch(..)`. This
special auto-generated method automatically takes care of checking for if
the Signal has been created and only dispatches the event if this is the
case. (If the game code used the `onEvent` property itself the event
deferal approach would be defeated.)
This approach is designed to require minimal changes, not negatively
affect performance, and reduce the number of Signal objects and
corresponding Signal/Event resource usage.
The only known user-code change is that code can add to signal (eg.
onInput) events even when input is not enabled - this will allow some
previously invalid code run without throwing an exception.
2014-11-30 21:39:25 -08:00
Paul
dab8772de0
Documentation - consistency updates
...
- Updated `readOnly` doclet to `readonly`
- `array` refined to `type[]`, where such information was immediately
determinable.
- Updated {Any}/{*} to {any}; {...*} is standard exception
- Udated {Object} to {object}
2014-11-30 04:03:35 -08:00
photonstorm
a012d8caa2
jsdoc update
2014-11-29 19:40:50 +00:00
photonstorm
c4b81ff6ea
jsdoc fixes.
2014-11-25 00:24:28 +00:00
photonstorm
69b57073f2
Added missing duration parameter.
2014-11-20 21:19:09 +00:00
photonstorm
7e4a494f13
Keyboard.justPressed has bee renamed to Keyboard.downDuration which is a much clearer name for what the method actually does.
...
Keyboard.justReleased has bee renamed to Keyboard.upDuration which is a much clearer name for what the method actually does.
Keyboard.downDuration, Keyboard.upDuration and Keyboard.isDown now all return `null` if the Key wasn't found in the local keys array.
2014-11-20 20:55:51 +00:00
Geoff Gaudreault
dbde5ee913
Keyboard.js does not reflect Phaser.Key changes
...
Calling justPressed or justReleased on Phaser.Keyboard throws an exception. Changed to reflect new method names in Phaser.Key
I imagine you'd want these methods renamed as well, but it appears to be called by a few other classes and I didn't want a huge pull-request.
2014-11-20 11:23:43 -08:00
Richard Davey
5fa06a241b
Merge pull request #1325 from pnstickne/wip-collections
...
ArrayList/LinkedList updates
2014-11-16 18:54:24 +00:00
photonstorm
527934d909
Key.justPressed has bee renamed to Key.downDuration which is a much clearer name for what the method actually does. See Key.justDown for a nice clean alternative.
...
Key.justReleased has bee renamed to Key.upDuration which is a much clearer name for what the method actually does. See Key.justUp for a nice clean alternative.
Key.justDown allows you to test if a Key has just been pressed down or not. You can only call justDown once per key press. It will only return `true` once, until the Key is released and pressed down again. This allows you to use it in situations where you want to check if this key is down without using a Signal, such as in a core game loop (thanks @pjbaron #1321 )
Key.justUp allows you to test if a Key has just been released or not. You can only call justUp once per key press. It will only return `true` once, until the Key is pressed down and released again. This allows you to use it in situations where you want to check if this key is up without using a Signal, such as in a core game loop (thanks @pjbaron #1321 )
2014-11-13 13:01:58 +00:00
Richard Davey
5dc6a8a8c5
Merge pull request #1321 from pjbaron/dev
...
justDown property indicates if a key has been newly pressed since last time you checked
2014-11-13 12:39:24 +00:00
Paul
aa3c21ade7
ArraySet/LinkedList - minor updates
...
- Renamed ArrayList to ArraySet
- Added ArrayList is a deprecated proxy for compatibility
- Updated internal code to use ArraySet
- ArraySet can be constructed with an array; if the caller is willing to
accept some responsibility this can remove the O(n^2) behavior of
repeatedly calling `add`.
- Updated Group.filter to take advantage of this
- ArraySet.total is read-only proxy for for list.length
- Fixes ArraySet.setAll where it would only set properties with truthy
values
- Updated documentation
2014-11-13 01:41:08 -08:00
Pete Baron
d1a8ecf3e6
Added justDown access to _justDown internal boolean. Records whether the key has been pressed since the last time it was checked. Resets to false only when it is read. Used for anything that needs to know when a key is first pressed with no autorepeat, without using closures or callbacks.
2014-11-13 18:34:36 +13:00
Paul
7004d68cbd
Mouse Scroll Events - device separation
...
- The wheel event type is now determined in by Device
- The various input checking in Device have been moved to a new function
2014-11-12 13:24:03 -08:00
Paul
a0dcc61df2
Mouse Scroll Events - quibbles
2014-11-12 04:01:50 -08:00
Paul
796b2a7f2f
Mouse Scroll Events - added support for WheelEvent, fixes
...
- Added support for the Wheel Event, which is the DOM3 spec.
- Wheel Scroll Event (old non-FF) and DOM Mouse Wheel (old FF) are
supported via a non-exported reused wrapper object, WheelEventProxy.
The proxy methods are generated one-time dynamically; future changes
to the Mouse class (such as requiring an opt-in for mouse scroll events)
could bypass secondary stub generation.
- FIX: Only ONE of the mouse wheel events is listened too, newest standard first.
This fixes a bug in FF where it would use the default DOMMouseWheel.
2014-11-12 03:53:26 -08:00
photonstorm
1352b526c7
Merged final Pixi v2.1.0 release.
2014-11-11 23:24:50 +00:00
photonstorm
0a86a7ef51
Time.now can no longer be relied upon to contain a timestamp value. If the browser supports requestAnimationFrame then Time.now
will contain the high resolution timer value that rAf generates. Otherwise it will contain the value of Date.now. If you require the actual time value (in milliseconds) then please use Time.time
instead. Note that all Phaser sub-systems that used to rely on Time.now
have been updated, so if you have any code that extends these please be sure to check it.
2014-11-08 20:01:10 +00:00
Richard Davey
f4237b3130
Merge pull request #1272 from pnstickne/wip-1246b
...
Button - bug fixes, issue #1246 (try number two)
2014-11-04 23:51:46 +00:00
Richard Davey
a4870a7e62
Merge pull request #1283 from pnstickne/wip-pointer-mgmt
...
Input - Minor Pointer refactor and documentation updates
2014-11-02 12:24:50 +00:00
photonstorm
30159691fa
Fixed onClickTrampoline jsdocs.
2014-11-02 12:20:19 +00:00
Richard Davey
21a47faaed
Merge pull request #1282 from pnstickne/wip-trampoline-click
...
Click Trampolines - support to trampoline pointer events into 'click' events
2014-11-02 12:15:37 +00:00
Richard Davey
5a23b77ec9
Merge pull request #1257 from pnstickne/wip-1191
...
Input "enabled/disabled" API and documentation consistency updates
2014-11-02 12:12:19 +00:00
photonstorm
e57c700816
The Gamepad.addCallbacks context parameter was never actually remembered, causing the callbacks to run in the wrong context (thanks @englercj #1285 )
2014-11-02 11:04:02 +00:00
Paul
2f460aaf8a
Browser incompatibility fix - MAX_SAFE_INTEGER
...
- Number.MAX_SAFE_INTEGER is only defined in ES6 and not currently cross-browser
2014-11-01 09:50:28 -07:00
Paul
5ec14929de
Input - Minor Pointer refactor and documentation updates
...
- `pointerN` are aliases to backed `pointers[N-1]` array.
This simplifies (and increases the efficiency of) looping through all the pointers when applicable; also eliminates pointer-existance checks
Removes various hard-coded limits (added MAX_POINTERS); changed `maxPointers` default
- Removed some special-casing from cases where it did not matter
- Removed `=== false/true`, `==` usage for consistency, changed missing value check to `typeof`, etc.
- Updated documentation for specificty; added `@public\@protected`
- `@deprecated` currentPointers due to odd set pattern; `totalCurrentPointers` is more appropriate.
2014-11-01 09:45:12 -07:00
Paul
31061775d7
Pointe - removed extra whitespace
2014-11-01 01:25:01 -07:00
Paul
14002ca02d
Pointer - minor documentation update for click trampolines
2014-11-01 01:11:26 -07:00
Paul
3005419435
Click Trampolines - support to trampoline pointer events into 'click' events
...
- This is needed to support Fullscreen on IE11 because IE only trusts 'click' events for this operation; click trampolines as a general solution, although they are only required in some "special" cases.
2014-11-01 01:04:17 -07:00
Paul
136af47064
Merge remote-tracking branch 'upstream/dev' into wip-1246b
2014-10-29 18:09:04 -07:00
Paul
5d04c62b33
Button - bug fixes, issue #1246
...
- Fix incorrect passing of "was clicked" to processInteractiveObjects
- Button would not return to Over/Out state because of strict too check to catch `undefined`
- Removed [undocumented] property usage from processInteractiveObjects and slight reformatting
- Update Button state frames/sounds to remove duplication
- Updated documentation in Button for consistency
2014-10-28 23:26:35 -07:00
Paul
2a933093d9
Comment fix
...
- Added `@private`
2014-10-28 22:47:44 -07:00
Paul
100b69eb99
Fix for Key.enabled issue #1190
...
- Added `enabled` getter; this resets the key (soft) and then disables they key
- Added `_enabled` property and updated internal usage
- Updated document for `reset`.
2014-10-28 22:45:30 -07:00
Paul
84363d9f36
Updated documentation per current Phaser tag usage
2014-10-28 21:46:33 -07:00
Paul
9a16448021
API / documentation consistency updates
...
- The `disabled` property of various input classes has been inverted to `enabled`.
Direct/internal usage of `disabled` has been transformed to `!enabled`.
- A `disabled` get/set property has been added to wrap `enabled`, and marked as @deprecated
This ensures current API compatibility.
2014-10-26 17:25:03 -07:00
photonstorm
0430cf8a6a
jsdoc fix
2014-10-23 12:27:07 +01:00
photonstorm
96fd0ade74
JSDoc fixes.
2014-10-21 22:43:42 +01:00
photonstorm
b580746cb8
Input.hitTest now accurately detects hits on the extreme edges of a display object (thanks InsaneHero)
2014-10-20 14:28:09 +01:00
photonstorm
6b2dbed96b
Fixed Input.getLocalPosition.
...
Updated Input.hitTest so it supports Phaser.Graphics objects.
2014-10-20 01:25:58 +01:00
photonstorm
35d29170d0
Lots of small jsdoc fixes and DocGen updates.
2014-10-20 00:54:56 +01:00
Bobby Wilson
0482684dc8
changed all typeof comparisons from == to ===
2014-10-10 21:52:06 -06:00
Victor Bjelkholm
81c0a53ef2
Add PLUS and MINUS to list of keyboard keys
2014-10-03 20:59:29 +02:00
photonstorm
2ee50d0c29
InputHandler now uses localToGlobal conversion for scaled responsive layers.
2014-09-29 12:27:28 +01:00
photonstorm
319146292b
First pass at scale handling on drag. Enable with: sprite.input.scaleLayer = true;
2014-09-25 17:01:27 +01:00
photonstorm
d18f523d93
jsdoc fixes.
2014-09-18 16:58:25 +01:00
photonstorm
20551f9129
Lots of jsdocs fixes ready for the new doc generator.
2014-09-16 17:35:08 +01:00
photonstorm
67f14713af
Removed Gestures stuff as it was all commented-out anyway.
2014-09-05 01:07:16 +01:00
photonstorm
4d14119a57
Removed console.log.
2014-09-05 00:14:22 +01:00