Commit graph

911 commits

Author SHA1 Message Date
samme
5f4f5e6cfc Merge branch 'master' into feature/arcade-group-config-enable 2018-09-29 14:07:09 -07:00
Richard Davey
3c4e6cda80 Arcade Physics shutdown will check to see if the world instance still exists and only try removing it if so. This prevents errors when stopping a world and then destroying it at a later date. 2018-09-29 11:21:41 +01:00
Richard Davey
c237209bb8 Added new jsdocs 2018-09-28 12:19:21 +01:00
Richard Davey
37076516e2
Merge branch 'master' into docs/arcade-physics-2 2018-09-28 11:07:44 +01:00
Richard Davey
5a4d1e53c1 Merge branch 'master' of https://github.com/photonstorm/phaser 2018-09-28 11:04:27 +01:00
Richard Davey
818a28073f Added jsdocs 2018-09-28 11:04:19 +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
samme
adb2181a8a Add docs for groups and Arcade.Factory 2018-09-26 12:25:09 -07:00
samme
536555236f Add PhysicsGroupConfig.enable, Arcade.Body#setEnable() 2018-09-26 10:25:45 -07:00
samme
5d38357533 Use defaultStrokeWidth in Arcade.Body#drawDebug() 2018-09-26 09:50:48 -07:00
Richard Davey
8cc7650f8c Arcade Physics Bodies will now sync the display origin of the parent Game Object to the body properties as part of the updateBounds call. 2018-09-26 17:15:22 +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
samme
6a8e5d2082 Correct descriptions for customSeparateX, customSeparateY 2018-09-25 13:25:47 -07: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
samme
817720b42c Correct description for Arcade.Body#maxVelocity 2018-09-24 16:58:00 -07:00
samme
31175ae61f Correct overlapCallback argument name 2018-09-24 16:52:15 -07:00
Richard Davey
89b9f42f3e Adding jsdocs 2018-09-24 23:20:43 +01:00
samme
2a51d6b70f Arcade Physics docs revisions 2018-09-24 12:12:56 -07: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
a6e650f26f
Merge pull request #4006 from samme/docs/arcade-image-body
Correct types for ArcadeImage#body, ArcadeSprite#body
2018-09-04 12:23:26 +01:00
Richard Davey
7c55e65543 Arcade Physics Body deltaX and deltaY methods will now return the previous steps delta values, rather than zero. Fix #3987 2018-09-04 12:16:24 +01:00
Richard Davey
3d989e136f Arcade Physics World collideSpriteVsTilemapLayer now syncs the collision results back to the body, allowing you to call collide from within an update loop once again. Fix #3999 2018-09-04 12:12:51 +01:00
samme
c0e141513c Correct types for ArcadeImage#body, ArcadeSprite#body 2018-09-02 14:45:39 -07:00
Richard Davey
00a31d2d88 Updated docs. Close #3997 2018-09-01 10:14:22 +01:00
Richard Davey
14d3f6b35c Calling Arcade Physics collide during an update method wouldn't inject the results back into the Body parent, causing the bodies to carry on moving. Using Colliders worked, but manually checking did not. Now, both methods work. Fix #3777 2018-08-29 16:35:13 +01:00
Richard Davey
3469ff2cfd Arcade Physics World has gained two new private properties _tempMatrix and _tempMatrix2. These are used by all bodies in the simulation that need a temporal matrix for calculations, rather than having their own instances. 2018-08-29 16:07:07 +01:00
Richard Davey
2c525845be The Arcade Physics Body _tempMatrix property has been removed. It was only used if the Body's Game Object had a parent. The matrix has been moved to the World instance instead, shared by all bodies. 2018-08-29 16:06:13 +01:00
samme
fb23367c63 Fix Arcade.World#disable
It was passing the wrong argument to disableBody, so failing.
2018-08-22 13:23:58 -07: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
Aurélien DUSSAUGE
b14d920581 Replace DistanceBetween with DistanceSquared in closest() and furthest() functions (ArcadePhysics.js) 2018-08-13 21:59:58 +02:00
Richard Davey
4bdb0de312 The Arcade Physics Body.speed property is now set whenever you set the velocity via setVelocity or setVelocityX or setVelocityY which stops the body velocity being reset to zero if useDamping is enabled. Fix #3888 2018-08-08 17:31:22 +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
d50b72dd14 Fixed Group creation arguments 2018-08-01 18:01:36 +01:00
Richard Davey
3d23013b86 Body setSize changes to fix #3863 PR 2018-07-31 09:39:22 +01:00
Richard Davey
16234491f2
Merge pull request #3863 from tarsupin/patch-2
Empty params reset to current texture size
2018-07-31 09:31:05 +01:00
tarsupin
79d64abaa3
Add spaces after ifs 2018-07-24 20:06:18 -05:00
tarsupin
2e72c9966b
Reset body to match current frame
When using setSize, empty height and width will automatically assign to match the current frame of the game object.
2018-07-24 20:05:51 -05:00
tarsupin
7af6e5477f
Empty params reset to current texture size
If the width and height aren't provided, it resets the body's size to match the current frame of the game object's texture.
2018-07-24 19:53:41 -05:00
samme
7ebc7dd01f Fix ArcadePhysics#closest, furthest 2018-07-18 16:23:38 -07:00
Richard Davey
7aa46657c2 Tidying up jsdocs and changing float to number 2018-06-26 23:19:14 +01:00
samme
b3ac91df5a Fix blocked.none after separation 2018-06-19 14:48:07 -07: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
Richard Davey
9a53daa068
Merge pull request #3729 from CodeAndWeb/matterjs-pe-loader
Matterjs pe loader
2018-06-12 11:54:18 +01:00
Joachim Grill
ff7f614a8e renamed to PhysicsEditorParser, added jsdocs 2018-06-11 16:37:32 +02:00
Richard Davey
1777c47a23 Added missing check 2018-06-08 00:22:58 +01: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
Richard Davey
15af7c6d0c Added jsdocs 2018-06-04 01:38:45 +01:00
Richard Davey
e7fec396e1 If a Body collides with a Static Body it will now set the blocked properties accordingly 2018-06-03 21:17:33 +01:00
Richard Davey
579c6ba607 Body.useDamping is a new boolean property that allows you to use a damping effect for drag, rather than the default linear deceleration. 2018-06-03 17:08:08 +01:00
Richard Davey
9aa80b2b49 World.computeVelocity now uses the Body.useDamping property to perform either linear deceleration or damping on the Body.
updateMotion has been stream lined.
computeVelocity has been rewritten, takes new arguments, performs better internally.
2018-06-03 17:07:41 +01:00
Richard Davey
bbf6211107 Refactored enable and disable flow and added lots of jsdocs. 2018-06-02 12:45:25 +01:00
Richard Davey
9875318f20 Added missing dx/dy properties 2018-06-01 19:52:52 +01:00
Richard Davey
40a3896962 Added more jsdocs, setFPS and optimized group vs. sprite and RTree use 2018-06-01 19:19:07 +01:00
Richard Davey
586d1827e0 Removed dirty property, optimized update loop, refactored postUpdate for fixed time step 2018-06-01 19:18:40 +01:00
Richard Davey
329c9266b4 GetOverlapX/Y now use the calculated delta values, not the deltaX/Y methods 2018-06-01 15:41:40 +01: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
4ad7993b78 Added fixed timestep logic to Arcade Physics World 2018-06-01 03:25:33 +01:00
Richard Davey
652b7b04ba Huge new ArcadeColliderType def. Fix #3714. 2018-05-31 15:52:45 +01:00
Richard Davey
6ab124c591
Merge pull request #3687 from thomastanck/thomastanck-typedefupdates
Update type definitions
2018-05-24 13:49:30 +01:00
Richard Davey
68303622f2 Setting an existing Game Object as a static Arcade Physics body would sometimes incorrectly pick-up the dimensions of the object, such as with TileSprites. Fix #3690 2018-05-23 15:17:26 +01:00
Richard Davey
de8462efed Added default values and tidied up docs a little 2018-05-22 16:19:18 +01:00
Richard Davey
1485f34cbe
Merge pull request #3682 from samme/feature/arcade-body-setters
Add `allowDrag`, `allowGravity`, `allowRotation` to Arcade.PhysicsGroup config
2018-05-22 16:12:39 +01:00
Thomas Tan
0c61eb0062
Return type this for Arcade Physics components too 2018-05-22 16:09:28 +08:00
Thomas Tan
ff38588285
Specify type of ArcadeSprite.body
Do this by overwriting this.body in ArcadeSprite constructor.
2018-05-22 10:16:21 +08:00
Thomas Tan
8124ba9b86
Allow object param type for Arcade group Factory 2018-05-22 10:15:42 +08:00
Thomas Tan
806b5981b0
Add Group to param type in Arcade collide/overlap 2018-05-22 10:11:15 +08:00
Thomas Tan
3589b95bbd
Fix setCollideWorldBounds param type for Arcade 2018-05-22 10:05:37 +08:00
samme
24efda7aca Add allowDrag, allowGravity, allowRotation to PhysicsGroup config 2018-05-16 10:36:23 -07:00
samme
06677c2cdc Allow empty object2 in collideObjects 2018-05-15 13:11:31 -07: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
samme
a70fb6aee9 Add docs for Arcade Physics 2018-05-09 21:28:52 -07:00
Bill Reed
a996bbf8df
update collider and overlap param types 2018-04-30 08:44:02 -04:00
Bill Reed
3fc0712451
update collider param types 2018-04-30 08:43:21 -04:00
Bill Reed
e3af569642
update overlap and collide params 2018-04-30 08:42:49 -04:00
Bill Reed
7251824b1d arcade colliders take gameobjects, not arcade bodies 2018-04-30 07:46:46 -04:00
Bill Reed
a50b302216 same for overlap 2018-04-29 11:35:19 -04:00
Bill Reed
b483fc4e1a update arcade collider factory method optional params to match arcade world collider optional params 2018-04-29 11:33:01 -04:00
Richard Davey
349a95bc4b Updating to 3.6.0 2018-04-19 14:45:45 +01:00
Richard Davey
f57ab02fe6 Recoded how RTree generations its functions. Solves perf issue introduced in 3.4 Fix #3594 2018-04-18 22:32:52 +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
28e2764723 More jsdoc fixes 2018-04-16 16:02:27 +01:00
Richard Davey
b392dee5a9 More jsdoc fixes 2018-04-16 15:11:51 +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
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
30d73a0197 Container can now be assigned an arcade physics body 2018-04-11 13:37:38 +01:00
Richard Davey
f80db91429 Allowing to work with Containers 2018-04-11 13:17:53 +01:00
Richard Davey
7aae84a790 Calling Impact.World.remove(body) during a Body.updateCallback would cause the internal loop to crash when trying to access a now missing body. Two extra checks are in place to avoid this 2018-04-11 10:39:20 +01:00
Joe Janiga
8ee9805596 work in progress on Static Body offset functionality... should Sprite.setPosition(x,y) effect Sprites static body? 2018-04-11 00:16:08 -04:00
Richard Davey
4466f28e44 Updated log 2018-04-05 08:48:35 +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
Richard Davey
89c963c19c Ignore consts 2018-03-30 14:38:58 +01:00
Richard Davey
0868d69fb6 Added memberOf 2018-03-30 14:24:18 +01:00
Richard Davey
2d6251a1e9 Swapping to enums 2018-03-29 16:42:20 +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
2096729095 Missing require 2018-03-28 14:15:32 +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
orblazer
f42f1bf132 Change structs for generic types 2018-03-23 16:54:12 +01: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
orblazer
ed1f2a7011 Fix wrong types 2018-03-22 13:51:30 +01:00
Richard Davey
32d9b82f93 Spacing 2018-03-21 17:22:09 +00:00
Richard Davey
0ef92e1172 Merge branch 'pr/3439' 2018-03-21 16:06:56 +00:00
Richard Davey
c6fc61e470 Fixed class names 2018-03-21 14:41:45 +00:00
Richard Davey
72690734c3 Fixed exposure 2018-03-21 14:41:34 +00:00
orblazer
11845f9d6d Fix "object" types on Physics and Math 2018-03-21 14:15:25 +01: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
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
4cff464555 Fix nullable types 2018-03-20 15:36:03 +01:00
orblazer
fa13b597e3 Add more callbacks 2018-03-19 23:08:05 +01:00
orblazer
f30218d3d3 Add callbacks on Physics 2018-03-19 21:42:07 +01:00