Commit graph

325 commits

Author SHA1 Message Date
Richard Davey
7d2f3b33b5 Added setBodyRenderStyle and setConstraintRenderStyle methods. 2019-12-03 14:06:32 +00:00
Richard Davey
c299b02542 Update MatterCollisionEvents.js 2019-12-03 14:06:15 +00:00
Richard Davey
9a0218b3da Fixed line style and updated parameter names. 2019-12-03 14:06:10 +00:00
Richard Davey
f050b148ec Rewrote plugin to tidy it up. 2019-12-03 10:43:35 +00:00
Richard Davey
e0ae756f0d Add the new collision events plugin. 2019-12-02 19:21:04 +00:00
Richard Davey
ca293d710f Proxy the add and remove events and better handle debug draw injection. 2019-12-02 19:20:54 +00:00
Richard Davey
bdbd74917a Added missing plugin configs. 2019-12-02 19:20:24 +00:00
Richard Davey
b38668eb5f Finished all the JSDocs, exposed all Matter modules and added the new point checking methods. 2019-12-02 19:20:13 +00:00
Richard Davey
d75fb5b918 Removed un-used render properties and added new ones 2019-12-02 19:19:42 +00:00
Richard Davey
c32368e03e Added the new ADD and REMOVE Matter World events 2019-12-02 19:19:21 +00:00
Richard Davey
b71d4059a7 100% JSDoc'd! 2019-12-02 15:07:44 +00:00
Richard Davey
4f8dd24df2 Handle legacy configs for now. 2019-11-28 16:19:03 +00:00
Richard Davey
2a4dadf3a7 Update MatterWorldConfig.js 2019-11-28 16:18:53 +00:00
Richard Davey
8a844fc4d3 Create MatterDebugConfig.js 2019-11-28 16:18:49 +00:00
Richard Davey
f126f28121 Split out the debug rendering process into single methods, so they can be called externally if required 2019-11-28 10:43:26 +00:00
Richard Davey
65008266d6 Fixed worldConstraint 2019-11-27 17:49:38 +00:00
Richard Davey
4a1b9691c8 Custom render values set? 2019-11-27 17:49:30 +00:00
Richard Davey
3d46304b6a Final new debug config added 2019-11-27 17:49:21 +00:00
Richard Davey
7b280e4fb2 Redoing debug config 2019-11-26 16:39:34 +00:00
Anatoly Rybalchenko
03810ecccf Set 'part.angle' in 'Body.update' into matter-js 2019-10-05 02:02:30 +03:00
Richard Davey
ddc1a136ce MatterPhysics.shutdown could try to access properties that may have been previously removed during the Game.destroy process, causing a console error. It now checks properties before removing events from them 2019-09-26 12:17:16 +01:00
Richard Davey
b5d9ba3891 Added namespace for TS 2019-08-07 12:47:51 +01:00
Richard Davey
0de2695b07 PhysicsEditorParser has now been exposed under the Phaser.Physics.Matter namespace, so you can call methods on it directly. 2019-07-26 18:15:26 +01:00
Richard Davey
bb29aed88a Matter.Factory.constraint wouldn't allow a zero length constraint to be created due to a falsey check of the length argument. You can now set length to be any value, including zero, or leave it undefined to have it automatically calculated 2019-06-22 11:19:56 +01:00
Richard Davey
558f6aea55 JSDoc fixes 2019-06-04 16:01:37 +01:00
Richard Davey
17ad54b35b You can pass in a Body for a Matter Game Object to use 2019-06-01 10:53:05 +01:00
Richard Davey
63ead0cbc1 Added Matter.bodies 2019-05-31 19:42:49 +01:00
Richard Davey
09318530a4 Matter.Factory.fromVertices can now take a vertices path string as its vertexSets argument, as well as an array of vertices. 2019-05-29 14:50:57 +01:00
Richard Davey
d7af904bfa Added Matter velocity, angularVelocity and force methods 2019-05-21 14:23:32 +01:00
Richard Davey
478d6989c5 Expose the Matter.Body module 2019-05-20 17:13:05 +01:00
Richard Davey
c91ed91ce3 License link update 2019-05-10 16:15:04 +01:00
Richard Davey
a6341a97a8 Fixed Types references 2019-05-09 15:32:53 +01:00
Richard Davey
2008438919 Added new Matter World config def 2019-05-09 15:31:59 +01:00
Richard Davey
1531288301 Matter Types 2019-05-09 12:34:27 +01:00
Richard Davey
fda7772d3f Fixed jsdocs to flag arguments as optional. Fix #4506 2019-05-03 18:23:39 +01:00
Richard Davey
09487bbfc6 Added new resetCollisionIDs method re: #4334 2019-04-08 10:34:52 +01:00
Richard Davey
e017691c68 The ScaleMode Component has been removed from every Game Object, and along with it the scaleMode property and setScaleMode method. These did nothing anyway as they were not hooked to the render pipeline and scale mode should be set on the texture, not the Game Object. Fix #4413 2019-03-24 23:07:27 +00:00
Richard Davey
42cb39749f Matter and Snapshot typedefs 2019-02-13 15:22:29 +00:00
Richard Davey
b50e1c78b5 Lots more jsdoc tweaks and improvements 2019-02-12 15:01:54 +00:00
Richard Davey
ccaae460a4 Added jsdoc version numbers to each event 2019-02-12 11:37:58 +00:00
Richard Davey
62399a3aa5 Removed un-used package 2019-02-10 17:33:51 +00:00
Richard Davey
0ab61ac6de When the Matter World creates its wall bounds, the left and right walls now extend further up and down than before, so that in a 4-wall setting there are no gaps in the corners, which previously allowed for fast moving objects that hit a corner intersection point to sometimes travel through it. 2019-02-09 16:27:20 +00:00
Richard Davey
fd8d75ab02 Refactored the Pointer Constraint to make it work more like a real pointer does, added missing events, added full jsdocs. 2019-02-09 16:02:21 +00:00
Richard Davey
7041601893 Added drag events to Pointer Constraint 2019-02-09 14:58:42 +00:00
Richard Davey
bb83f4803e Testing Pointer events. 2019-02-08 19:46:23 +00:00
Richard Davey
5f03d2cd5e Testing Composite.remove, instead of removeBody. 2019-02-08 19:46:13 +00:00
Richard Davey
60542a25cc Numerous jsdoc and TS related fixes 2019-02-04 17:16:08 +00:00
Richard Davey
4f6f6ee72f Lots of jsdoc and type fixes 2019-01-31 12:19:01 +00:00
Richard Davey
bc962c25dc All listeners use the new Events 2019-01-18 13:41:43 +00:00
Richard Davey
8b35743943 Matter Events added 2019-01-17 15:47:27 +00:00
Richard Davey
aa341854c7 Happy New Year 2019-01-15 16:20:22 +00:00
Richard Davey
49c2868746 All default width/height values are now taken from the Scale Manager, not the Game Config 2019-01-11 15:57:57 +00:00
Richard Davey
30dda882eb Matter.TileBody.setFromTileCollision no longer checks if the shape is concave or convex before modifying the vertices, as the update to the Matter.js lib in 3.12 stopped this from working with Tiled collision shapes. 2019-01-08 11:50:21 +00:00
Richard Davey
566df734a0 MatterSprite would set its type property to be Image. It now sets it to be Sprite as it should do. 2019-01-04 14:16:10 +00:00
Richard Davey
cc55ee73cf Changing scaleX or scaleY on a MatterImage or MatterSprite would cause the body scale to become distorted as the setters didn't use the correct factor when resetting the initial scale. Fix #4206 2018-12-12 12:07:16 +00:00
Richard Davey
2780babe10 Final Doc Jam merge 2018-12-03 15:16:23 +00:00
Richard Davey
956a0913b8 Added new jsdocs 2018-10-22 12:12:31 +01:00
Richard Davey
4c4421c47f Docjam merge 2018-10-19 12:32:43 +01:00
Richard Davey
4b1c762296 Updated @memberOf to @memberof 2018-10-10 10:49:13 +01:00
Richard Davey
a9063604dc Replace @readOnly with @readonly 2018-10-09 13:40:00 +01:00
Richard Davey
099489e26d Added missing class desc 2018-10-01 14:44:30 +01:00
Richard Davey
c237209bb8 Added new jsdocs 2018-09-28 12:19:21 +01:00
Richard Davey
534814adb0
Merge pull request #4065 from rgk/patch-4
Matter.js Force Component Docs
2018-09-28 11:03:34 +01:00
Richard Davey
9c5876ffb0 Skip conditional if fromVerts given. Correctly set parts reference. 2018-09-26 14:15:38 +01:00
Richard Davey
80f7539a41 Matter.verts, available via this.matter.verts from within a Scene, is a quick way of accessing the Matter Vertices functions. 2018-09-26 14:13:03 +01:00
Richard Davey
df7245e3c5 Added all of the new Matter debug rendering options 2018-09-26 14:12:20 +01:00
Richard Davey
eb09c35056 The poly-decomp library, as used by Matter.js, has been updated to 0.3.0. 2018-09-26 11:08:55 +01:00
Robert Kowalski
bf38ce9fd4
Revsions based on Comments
Updated, better?
2018-09-25 11:31:18 -04:00
Robert Kowalski
0020745544
Quick space. 2018-09-25 07:15:11 -04:00
Robert Kowalski
185b19787e
Matterjs Gravity Component Doc 2018-09-25 07:14:32 -04:00
Robert Kowalski
5d0d84fe55
Matter.js Force Component Docs
Checking if I did this well before I start jumping into multiple files.
2018-09-25 04:46:30 -04:00
Richard Davey
89b9f42f3e Adding jsdocs 2018-09-24 23:20:43 +01:00
Richard Davey
5fe6dbbe0c Added more jsdocs 2018-09-13 08:09:44 +01:00
jf908
4f5b43e0ed
Allow matter js bodies to render their debug graphics individually 2018-09-04 18:45:54 +01:00
Richard Davey
da64e41b2f Fixed Matter require call freaking out webpack 2018-08-22 15:54:00 +01:00
Richard Davey
65fb366ecd Matter updated to 0.14.2. Fix #3929 2018-08-22 14:01:35 +01:00
Richard Davey
a98b3c3b15 In Matter.js if you scaled a Body it would only scale correctly once, due to the way Matter handles scaling internally. We now automatically reset the Matter scale before applying the new value, which allows you to keep the Phaser and Matter object scales in sync. Fix #3785 #3951 2018-08-21 15:55:39 +01:00
Michael Hadley
7675615b70 Update matter copy with bug fix from liabru/matter-js@4e04043fe0 2018-08-05 21:29:49 -05:00
Richard Davey
7aa46657c2 Tidying up jsdocs and changing float to number 2018-06-26 23:19:14 +01:00
Richard Davey
7eac419d3c Fixed namespace 2018-06-12 16:52:57 +01:00
Richard Davey
c7c104bc2b Tidied up the formatting and jsdocs for Physics Editor parser 2018-06-12 13:07:19 +01:00
Joachim Grill
ff7f614a8e renamed to PhysicsEditorParser, added jsdocs 2018-06-11 16:37:32 +02:00
Andreas Loew
bcef469e1c Trivial change to trigger travis ci build.
The last build failed because of lint issues outside of our code.
2018-06-05 07:45:56 +02:00
Andreas Loew
fea754f1f9 Converted code to ES5 2018-06-04 22:44:36 +02:00
Joachim Grill
6c58bd9029 fixed lint issues 2018-06-04 11:12:02 +02:00
Joachim Grill
bc4186061c added getter for center of mass 2018-06-01 14:42:59 +02:00
Joachim Grill
4719694f33 matter-js physics: added loader for shapes created and exported with PhysicsEditor 2018-06-01 14:42:28 +02:00
Richard Davey
350cb037b7 All systems now register themselves with the new PluginCache 2018-05-15 12:51:50 +01:00
Richard Davey
be330e609e Moved PluginManager to new location 2018-05-10 17:14:33 +01:00
Richard Davey
b0544c73b8 jsdoc fixes 2018-04-18 13:29:22 +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
b392dee5a9 More jsdoc fixes 2018-04-16 15:11:51 +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
18a6cf8ad1 eslint fixes 2018-04-13 18:09:16 +01:00
Richard Davey
01d3b7d6dc Missed out the config 2018-04-13 17:44:06 +01:00
Richard Davey
3490b29082 Tidying up 2018-04-13 17:43:56 +01:00
Richard Davey
be29c69a8c Disable pointer constraint debug by default 2018-04-13 17:43:44 +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
8afa6c9c7f MatterEvents.off() would cause a TypeError if you destroyed the Matter world. Fix #3562 2018-04-13 12:07:27 +01:00
Richard Davey
64b07c6ecb eslint fix 2018-04-11 16:58:25 +01:00
Richard Davey
53425bdae9 Matter Image and Matter Sprite didn't define a destroy method, causing an error when trying to destroy the parent Game Object. Fix #3516 2018-04-11 14:35:18 +01:00
Richard Davey
70c7732a1e When shutting down a Matter World it will now call MatterEvents.off, clearing all events, and also removeAllListeners for any local events. 2018-04-11 14:00:58 +01:00
Richard Davey
011e67d0f0 The Matter SetBody Component will no longer try to call setOrigin unless the Game Object has the origin component (which not all do, like Graphics and Container) 2018-04-11 13:47:22 +01:00
Richard Davey
d93e8ab919 Make sure debug layer remains on the top 2018-04-03 15:30:46 +01:00
Richard Davey
8ffe3e3aaf Small formatting fixes 2018-04-03 15:28:51 +01:00
Richard Davey
7f1723ca4f
Merge pull request #3458 from OmarShehata/master
Added joint debug rendering to Matter Physics postUpdate
2018-04-03 15:22:49 +01:00
Omar Shehata
b18530741d Replaced all uses of 'let' with 'var' to support older browsers 2018-03-29 08:53:38 -05:00
Richard Davey
cef9050627 jsdoc fixes 2018-03-29 14:53:06 +01:00
Richard Davey
d5fd3e20d9 Renamed namespace 2018-03-29 14:24:51 +01:00
Richard Davey
ce75947dac Swap to module 2018-03-29 14:02:25 +01:00
Richard Davey
e7191e9d8e jsdoc updates 2018-03-29 13:48:14 +01:00
Richard Davey
f5373b2dee jsdoc fixes 2018-03-29 13:23:44 +01:00
Richard Davey
f1e646c9ee jsdoc fixes 2018-03-28 15:39:57 +01:00
Richard Davey
747f09af86 jsdoc fixes 2018-03-28 15:04:09 +01:00
Richard Davey
15c4334dc7 jsdoc fixes 2018-03-28 14:11:46 +01:00
Richard Davey
e7a1e3190a Matter Physics timestep adjustments (getDelta, step, set60Hz, etc)
* Matter Physics now has a new config property `getDelta` which allows you to specify your own function to calculate the delta value given to the Matter Engine when it updates.
* Matter Physics has two new methods: `set60Hz` and `set30Hz` which will set an Engine update rate of 60Hz and 30Hz respectively. 60Hz being the default.
* Matter Physics has a new config and run-time property `autoUpdate`, which defaults to `true`. When enabled the Matter Engine will update in sync with the game step (set by Request Animation Frame). The delta value given to Matter is now controlled by the `getDelta` function.
* Matter Physics has a new method `step` which manually advances the physics simulation by one iteration, using whatever delta and correction values you pass in to it. When used in combination with `autoUpdate=false` you can now explicitly control the update frequency of the physics simulation and unbind it from the game step.
2018-03-27 15:15:05 +01:00
Omar Shehata
4fa109d2db Added joint debug rendering to Matter Physics postUpdate 2018-03-25 22:44:32 -05:00
Richard Davey
574221d6cf A new property was added to Matter.World, correction which is used in the Engine.update call and allows you to adjust the time being passed to the simulation. The default value is 1 to remain consistent with previous releases. 2018-03-23 02:19:18 +00:00
Richard Davey
d78a9d097f eslint fixes 2018-03-22 13:22:23 +00:00
Richard Davey
32d9b82f93 Spacing 2018-03-21 17:22:09 +00:00
Richard Davey
c6fc61e470 Fixed class names 2018-03-21 14:41:45 +00:00
Richard Davey
db613c793a Merge branch 'master' of https://github.com/photonstorm/phaser 2018-03-21 03:17:00 +00:00
Richard Davey
2f86100f87 MatterGameObject is a new function, available via the Matter Factory in this.matter.add.gameObject, that will inject a Matter JS Body into any Game Object, such as a Text object. 2018-03-21 03:16:36 +00:00
Richard Davey
5cae6d38b3 Matter.SetBody and SetExistingBody will now set the origin of the Game Object to be the Matter JS sprite.xOffset and yOffset values, which will auto-center the Game Object to the origin of the body, regardless of shape. 2018-03-21 03:16:01 +00:00
orblazer
dca7996179 Fix multiple types on Physics, Texture and Input 2018-03-20 16:10:19 +01:00
Richard Davey
19a08286c0 More types added 2018-03-19 15:01:14 +00:00
orblazer
ae15eca7bd Update JSDoc on "Matter.JS" physics 2018-03-19 01:10:32 +01:00
Richard Davey
edeb63ebbd eslint fix 2018-03-18 14:21:53 +00:00
Richard Davey
3d4be64331 Testing MatterGameObject 2018-03-17 18:07:05 +00:00
Richard Davey
05a4385cd7 jsdoc fixes 2018-03-16 17:29:39 +00:00
Samid\Sami
f5e471dad7 removed trailing space for JSHint validation. 2018-03-08 11:46:01 +01:00
Samid\Sami
84481da4d1 * Fix #3345 by adding beginPath and closePath when done drawing in postUpdate. 2018-03-08 11:16:04 +01:00
Richard Davey
3c65121cb3 eslint fixes 2018-02-16 19:17:49 +00:00
Richard Davey
86f00eeb52 eslint fixes 2018-02-16 18:17:51 +00:00
Richard Davey
b81b268b29 Matter JS bodies now have a destroy method that removes them from the world. 2018-02-14 19:33:56 +00:00
Richard Davey
8f4a1012fd Updated jsdocs. 2018-02-13 01:39:22 +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
eaca4eb462 Added jsdocs 2018-02-12 13:48:53 +00:00
Richard Davey
e448ec59f0 Added removeConstraint method. 2018-02-12 13:48:52 +00:00
Richard Davey
d421e9264e Fixed #3145 2018-02-12 13:48:49 +00:00
Richard Davey
8de078d333 Added jsdocs 2018-02-12 13:48:48 +00:00
Richard Davey
92db8cfa2c Added jsdocs and fix #3179 2018-02-12 13:48:48 +00:00
Richard Davey
c7a84a1f7a
Merge pull request #3209 from vulcanoidlogic/master
matterjs PointerConstraint.js world.events.on undefined
2018-02-09 16:51:52 +00:00
Richard Davey
5db058021f Added jsdocs. 2018-02-09 15:23:33 +00:00
Richard Davey
73833e6628 Fixed require path. 2018-02-09 15:23:12 +00:00
Greg
79b61defe6 #3200 Errors in Input Mouse Events examples 2018-02-09 00:21:08 -05:00
Richard Davey
91887815f6 Merged Arcade Physics methods and added jsdocs 2018-02-09 01:40:41 +00:00
Richard Davey
40689d1e35 Updated jsdocs. 2018-02-07 15:27:21 +00:00
Richard Davey
f1a25921c7 Fixed missing Pipeline component. 2018-01-30 19:16:00 +00:00
Michael Hadley
16767927cb Bug fix: setExisting -> setExistingBody 2018-01-28 08:06:05 -06:00
Michael Hadley
7acd9b0381 Tiled object parser: store points as xy objects instead of arrays
V2 used arrays, but other places in the codebase (and users) will expect an object with XY props over an array.
2018-01-27 08:34:11 -06:00
Michael Hadley
cbc493df98 MatterTileBody bug fix: tile -> this.tile 2018-01-26 22:31:53 -06:00
Michael Hadley
801d2e92e1 Revert "Add matter component for inertia - useful for platformers"
This reverts commit 2b20c8bbfb.
2018-01-26 21:51:20 -06:00
Michael Hadley
ec444f876e Extend SetBody component with setExistingBody method
This makes it easy to add compound bodies to a MatterSprite/MatterImage
2018-01-26 21:50:22 -06:00
Michael Hadley
0d84860a8a Update Matter.World to render compound bodies 2018-01-26 21:50:21 -06:00
Michael Hadley
2b20c8bbfb Add matter component for inertia - useful for platformers 2018-01-25 16:05:49 -06:00
Michael Hadley
08df6b4cb0 Bug fix: wrong prop name 2018-01-25 15:34:25 -06:00
Michael Hadley
7730af643d Add better support for concave polygons to MatterTileBody 2018-01-25 15:17:33 -06:00
Michael Hadley
578fe59110 Add scale support to MatterTileBody 2018-01-25 15:17:10 -06:00
Michael Hadley
64d172546c JSDoc Matter.World#convertTilemapLayer & Matter.World#convertTiles 2018-01-25 14:04:58 -06:00
Michael Hadley
27930fb4bb JSDoc MatterTileBody 2018-01-25 13:58:03 -06:00
Michael Hadley
92fb2a9c21 Update MatterTileBody to use latest Tile API 2018-01-25 13:49:28 -06:00
Michael Hadley
a6556e9364 Expose Phaser.Physics.Matter.TileBody 2018-01-25 13:48:47 -06:00
Michael Hadley
ccdad43920 Matter world and factory methods for creating a tile body 2018-01-21 12:53:48 -06:00
Michael Hadley
348da8c81e MatterTileBody: wrapper around a Tile that provides access to a matter body 2018-01-21 12:53:27 -06:00
Richard Davey
d46662cd46 Swapped to using Number.MAX_VALUE so repeat -1 now works properly in IE11 and below. 2018-01-18 14:59:32 +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
108b6bd2a3 Events call the world directly, avoids an unnecessary function jump. 2018-01-17 15:28:53 +00:00
Richard Davey
f41d016c9f Moved Matter over to use the plugin system. 2018-01-17 15:22:16 +00:00
Richard Davey
f00f467eec Matter now using new EventEmitter. 2018-01-12 18:59:11 +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
d8f1ba03e9 Moved repository location 2018-01-09 21:43:56 +00:00