Commit graph

1019 commits

Author SHA1 Message Date
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
Richard Davey
19a08286c0 More types added 2018-03-19 15:01:14 +00:00
Richard Davey
620bcc6ae5 jsdoc fixes and additions 2018-03-19 13:45:00 +00:00
orblazer
ae15eca7bd Update JSDoc on "Matter.JS" physics 2018-03-19 01:10:32 +01:00
orblazer
2da6a2bffe Update JSDoc on "Impact" physics 2018-03-19 00:42:09 +01:00
orblazer
af3c03a3cb Update JSDoc on "Arcade" physics 2018-03-19 00:29:46 +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
Richard Davey
a524dc44b0 Expose constants. Fix #3387 2018-03-16 13:29:30 +00:00
Richard Davey
7a8e4cf5e1
Merge pull request #3366 from samme/feature/world-wrap
Add Arcade.World wrap methods and Actions.WrapInRectangle
2018-03-16 12:58:16 +00:00
Sean Bohan
4cde28fecd Forgot to devide width by 2 2018-03-16 14:02:41 +08:00
Sean Bohan
72e82ecf48 Fix debug draw of scaled arcade body 2018-03-16 14:02:41 +08:00
samme
4b25574d82 Expect v3.3.0 2018-03-12 07:29:49 -07:00
samme
66e5a72dae Add Phaser.Physics.Arcade.World#wrap and friends
- Phaser.Physics.Arcade.World#wrap
- Phaser.Physics.Arcade.World#wrapArray
- Phaser.Physics.Arcade.World#wrapObject
2018-03-10 13:36:18 -08: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
Patrick Galbraith
8eb82e4fcb
Fix for collideGroupVsSelf is undefined
This happens when you call collide with a single group as the first param.

Seems like the `collideGroupVsSelf` function was not implemented. I've changed it to just call the `collideGroupVsGroup` with the first object twice which worked when I tested it on my project.
2018-03-05 21:15:38 +10:30
Sean Bohan
3f2e63fc17 Fix arcade body does not align with scaled parent object.
When a game object scaled, arcade body still calculate its position based on its original size instead of scaled one.
2018-03-01 09:02:04 +08:00
Richard Davey
1cae348300
Merge pull request #3278 from nkholski/arcadeGroups
Groups arcade collision
2018-02-28 20:56:11 +00:00
Richard Davey
218b4e4a52
Merge pull request #3285 from samme/docs/onWorldBounds
Describe Arcade.Body#onWorldBounds
2018-02-28 20:48:31 +00:00
Richard Davey
921d7e317a Arcade Physics Bodies didn't apply the results of allowRotation to the parent Game Object. 2018-02-27 01:08:55 +00:00
samme
36d91e9955 Describe Arcade.Body#onWorldBounds 2018-02-26 11:27:57 -08:00
Niklas Berg
b87d71ab73 single out groups without physics 2018-02-24 08:44:38 +01:00
Niklas Berg
b9e4d15efb Groups arcade collisions 2018-02-23 23:49:12 +01:00
samme
64e5b4394a Fix 'static is a reserved word in strict mode' 2018-02-18 10:38:08 -08:00
Richard Davey
3c65121cb3 eslint fixes 2018-02-16 19:17:49 +00:00
Richard Davey
d23688c3e4 Added eslint fixes and overrides 2018-02-16 18:44:07 +00:00
Richard Davey
3f155bf8f3 World didn't import GetOverlapX or GetOverlapY, causing separateCircle to break. 2018-02-16 18:43:06 +00:00
Richard Davey
86f00eeb52 eslint fixes 2018-02-16 18:17:51 +00:00
Richard Davey
4e6df03512 Updated semver 2018-02-15 14:31:15 +00:00
Richard Davey
aa9cac4ba8 Added refreshBody method and jsdocs 2018-02-15 01:52:01 +00:00
Richard Davey
7df00ccb6f Removed un-used properties from the Static Body
Set un-used Vectors to use the Vec2 ZERO constant to save object creation.
Added setGameObject and updateFromGameObject methods.
2018-02-15 01:51:36 +00:00
Richard Davey
4cc7fed1dd Added World.pendingDestroy Set and process it during postUpdate. 2018-02-15 01:50:22 +00:00
Richard Davey
b36dd17430 Removed pendingDestroy and opted for easier Set iteration.
Updated Body.reset so it resets the Sprite as well, otherwise the Body remains stuck on the next update loop.
2018-02-15 01:49:55 +00:00
Richard Davey
e68329f763 Fixed version numbers 2018-02-14 19:55:00 +00:00
Richard Davey
24e8f7a119 Body.destroy is now flag based, cleared by the World.
Added pendingDestroy flag to handle body destruction within events or collider iterations.
2018-02-14 19:36:34 +00:00
Richard Davey
81d0a48c58 disableBody renamed disableGameObjectBody
disableBody now disables just a body object.
destroying a body sets its `pendingDestroy` flag, which is now cleared in the postUpdate method.
Group vs. Group collision has been implemented.
World.destroy properly clears down its Sets and RTrees.
2018-02-14 19:35:57 +00:00
Richard Davey
b7beea1d37 Impact bodies now remove themselves from the world when destroyed. 2018-02-14 19:34:21 +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
c6f4a6ed43 Arcade Physics Colliders have a name property and setName method. 2018-02-14 19:33:33 +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
d3cb0761d2 Updated jsdocs. 2018-02-09 16:52:19 +00:00
Richard Davey
2434bb187a Added jsdocs. 2018-02-09 16:52:18 +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
c1b5ff885e Added jsdocs 2018-02-09 04:08:01 +00:00
Richard Davey
e0899bfa00 Added jsdocs 2018-02-09 03:44:23 +00:00
Richard Davey
91887815f6 Merged Arcade Physics methods and added jsdocs 2018-02-09 01:40:41 +00:00
Richard Davey
10193c181a Fixed require paths. 2018-02-07 17:10:01 +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
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
6776b94c5b Allow Impact.Sprite#setVelocity to accept 1 parameter 2018-01-25 08:45:40 -06:00
Michael Hadley
2c1f10b0b4 setCollisionMapFromTilemapLayer - load slope mapping via object or Tiled properties 2018-01-23 22:00:01 -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
Michael Hadley
a6365c5339 Removing es6 'let' from AP vs tilemap 2018-01-19 06:56:52 -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
Michael Hadley
fd8cad1fb6 Add Impact method for loading collision map from Weltmeister file 2018-01-17 18:50:00 -06:00
Michael Hadley
5bc09a2c5c Update AP physics to handle tiles where tileSize !== baseTileSize 2018-01-17 11:27:29 -06: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
b17744df61 Merge branch 'master' of https://github.com/photonstorm/phaser 2018-01-17 03:42:03 +00:00
Richard Davey
ddba95873d Moved Arcade and Impact Physics over to the new plugin system 2018-01-17 03:41:58 +00:00
Michael Hadley
814e5af815 Remove recalculation of tile bounds from arcade physics 2018-01-16 19:03:13 -06:00
Richard Davey
ca7550aa6f Moved plugins 2018-01-16 18:38:29 +00:00
Michael Hadley
bf413ea604 Implemented tile & layer callbacks in arcade physics 2018-01-12 15:00:37 -06:00
Michael Hadley
ef58640026 Arcade: tilemap collisions/overlaps now emit appropriate events 2018-01-12 14:23:36 -06:00
Michael Hadley
8f0b428209 Bug fix in events: overlap used where collide should be 2018-01-12 14:20:48 -06:00
Richard Davey
f00f467eec Matter now using new EventEmitter. 2018-01-12 18:59:11 +00:00
Richard Davey
f9a1e27334 Removed un-used event files and references. 2018-01-12 17:20:16 +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
Michael Hadley
15825eacb3 Add note about circle bodies not currently being supported in Arcade tile intersection 2018-01-12 10:53:36 -06:00
Michael Hadley
bab399a02e Made CollideHandler consistent by returning value from logic branches
Each branch should return true/false based on whether a collision happened
2018-01-11 14:13:42 -06:00
Michael Hadley
00cebf8eae CollideGroupVsTilemapLayer implementation 2018-01-11 14:03:34 -06:00
Michael Hadley
5241798ab3 Pass TILE_BIAS from arcade world into tile colliding functions 2018-01-11 08:32:07 -06:00
Michael Hadley
98ae8009e0 Arcade rect vs tilemap layer collision handling 2018-01-10 20:47:25 -06:00
Michael Hadley
32788d6eb6 Stub arcade collide vs tilemap methods 2018-01-10 20:43:11 -06:00
Michael Hadley
e3699aaea0 Remove unnecessary Arcade Body#tilePadding 2018-01-10 19:34:22 -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
4d4344bf03 Arcade Physics updated to use new Transform system. 2016-11-11 02:20:31 +00:00
photonstorm
26711241ac Disabled access to World and Camera for now. 2016-10-14 02:20:35 +01:00
Richard Davey
380e717e52 Finished off missing factories. Moved over the docs. Changed rogue @returns to @return everywhere. 2016-10-08 16:17:46 +01:00
Richard Davey
31592b98f1 The P2 Physics library has been updated to 0.7.1. This is still quite out of date, but as soon as they release their latest build (hopefully soon) we'll update to that. 2016-09-21 23:16:14 +01:00
Richard Davey
8a78029e2b Merge pull request #2728 from samme/issue-2720
Add a hint for resizing Body of scaled Sprites
2016-09-07 23:27:34 +01:00
James
42ca43d98c updated docs on Arcade body's setSize 2016-08-30 17:08:25 -05:00
samme
792ae127bf Add a hint for resizing Body of scaled Sprites 2016-08-29 12:50:05 -07:00
photonstorm
ad0e4aca2e Large batch of jshint fixes. 2016-08-25 13:03:41 +01:00
samme
b05becf962 Correct docs:
* `angularAcceleration`, `angularDrag`, and `angularVelocity` are measured in degrees.
* `angle` describes `velocity` and is unrelated to angular motion
2016-08-22 12:05:12 -07:00
photonstorm
11b0436a26 Fixed Arcade Physics Circle body collision, after the #2654 change broke it unintentionally. 2016-08-22 16:23:22 +01:00
photonstorm
7b9c4114b2 Preparing for 2.6.2 release. 2016-08-22 12:31:02 +01:00
Richard Davey
19342fa3af ArcadePhysics Body.rotation now reads its initial value from sprite.angle instead of sprite.rotation. The property was immediately replaced with the correct value in Body.preUpdate regardless, but it keeps it consistent (thanks @samme #2708) 2016-08-21 10:27:58 +01:00
Richard Davey
9654a4b3c5 Consolidating Layers into View class. 2016-07-25 01:39:46 +01:00
Richard Davey
6947057427 The property checkCollision.none in the ArcadePhysics.Body class was available, but never used internally. It is now used and checked by the separate method. By setting checkCollision.none = true you can disable all collision and overlap checks on a Body, but still retain its motion updates (thanks @samme #2661) 2016-07-23 10:01:38 +01:00
Richard Davey
46c20ab00a The property checkCollision.none has been removed from the ArcadePhysics.Body class. It was never used internally, so lead to confusion about its use. To disable a body, use body.enable = false (thanks @samme #2661) 2016-07-23 09:43:01 +01:00
photonstorm
3ba00bbf2d Loads of work on tilemap collision, and offset support. You can now collide with a tilemap no matter where it is on the screen, or which layer it's from. 2016-07-22 17:02:10 +01:00
photonstorm
0e25c5acac Revert getTiles call. 2016-07-22 14:08:54 +01:00
Richard Davey
d8560eb3bc Fixed Tilemap collision. 2016-07-22 04:32:56 +01:00
Leopoldo Brines
18472f5998 Fix 'TypeError: target.center is undefined' 2016-07-20 18:34:02 -04:00
Boniatillo.com
3d1b10c310 jsdoc fix: replace #onTop for #onCeiling
Modified the jsdoc of Phaser.Arcade.Body.onCeiling, by replacing the #onTop reference for #onCeiling.
2016-07-19 08:32:34 -04:00
photonstorm
ac2516f5aa 2.6.1 Release. 2016-07-11 10:07:56 +01:00
Richard Davey
cfb2b813ef Fixed Uncaught TypeError: Cannot set property 'x' of undefined in Body.js (thanks @ErwanErwan #2607) 2016-07-08 18:54:00 +01:00
photonstorm
61ce14f332 P2.World.clear will now clear out the World.walls property, resetting all of the wall bounds to null. This allows the walls to be re-created accurately when the P2 World is reset, which happens on a State change or restart (thanks @ewpolly1 @codermua #2574) 2016-07-08 13:02:58 +01:00
photonstorm
dfd9203e0a onWorldBounds now sends the bounds it collided with. 2016-07-08 11:28:45 +01:00
Richard Davey
c0ba439e82 ArcadePhysics.Body.onCollide is a new Signal that is dispatched whenever the Body collides with another Body. Due to the potentially high volume of signals this could create it is disabled by default. To use this feature set this property to a Phaser.Signal: sprite.body.onCollide = new Phaser.Signal() and it will be called when a collision happens, passing two arguments: the sprites which collided.
ArcadePhysics.Body.onOverlap is a new Signal that is dispatched whenever the Body overlaps with another Body. Due to the potentially high volume of signals this could create it is disabled by default. To use this feature set this property to a Phaser.Signal: `sprite.body.onOverlap = new Phaser.Signal()` and it will be called when an overlap happens, passing two arguments: the sprites which collided.
2016-07-07 23:16:18 +01:00
Richard Davey
6ba3c9401f ArcadePhysics.Body.setCircle is a new method that allows you to define an Arcade Physics Body as being a circle instead of a rectangle. You can control the radius of the body and the offset from the parent sprite.
ArcadePhysics.World.separateCircle is a new method that handles all circular body collisions internally within Arcade Physics (thanks @VitaZheltyakov)

All of the Arcade Physics internal methods, such as `collideGroupVsSelf`, `collideSpriteVsSprite` and so on, have been updated to work with circular body shapes (thanks @VitaZheltyakov)

ArcadePhysics.Body.onWorldBounds is a new Signal that is dispatched whenever the Body collides with the world bounds, something that was previously difficult to detect. Due to the potentially high volume of signals this could create it is disabled by default. To use this feature set this property to a Phaser.Signal: `sprite.body.onWorldBounds = new Phaser.Signal()` and it will be called when a collision happens, passing one argument: the sprite on which it occurred.
2016-07-07 21:58:39 +01:00
photonstorm
261155a683 Merged the arcade-circles branch back into 2.6 and tidied up lots of the source code. Needs checking as not working properly with rect vs. circle, but fine with circle vs. circle. 2016-07-07 16:45:10 +01:00
photonstorm
4da3b15ae2 Renamed alignTo to alignIn, and added the new method alignTo, to allow for Sprite to Sprite alignment. Updated all of the Bounds and TS defs. 2016-06-16 17:01:51 +01:00
Richard Davey
70be74cb36 Lots of work on Body.moveTo and Body.moveFrom. Now working nicely. 2016-06-15 04:12:47 +01:00
Richard Davey
b5cc01132c Body.move tests. 2016-06-14 23:45:00 +01:00
Richard Davey
1daf897b23 Small styling fixes. 2016-06-09 23:27:19 +01:00
Upperfoot
bab2fac729 Resolved issue with tilemapLayer collision. 2016-06-08 23:52:56 +01:00
Craig Whiteside
212a07b9ac Fixed problem with missing parameter in tileCheckX and tileCheckY. 2016-06-07 14:00:34 +01:00
Craig Whiteside
7a1667fa7e Fixed typo on collision for TileMapLayers (lesson to triple check your code...) 2016-06-06 15:43:51 +01:00
Richard Davey
05ca827c2b Merge pull request #2522 from Upperfoot/master
Fixing tileMap collision when tileMapLayer is set to a position other than 0,0
2016-06-03 12:45:37 +01:00
photonstorm
a81fe3cf02 jshint fixes. 2016-06-02 15:38:05 +01:00
Vitaliy
cd3742f9f2 Corrected intersects fuction
Added protection against incorrect handling collisions. Clashes with the body itself will not be processed.
2016-05-31 01:18:17 +03:00
photonstorm
c1c2e6bc9d Removed left-over Body.isCircle checks. 2016-05-23 23:02:04 +01:00
photonstorm
e974ff4ee9 Removed Circle functions and updated setSize docs. 2016-05-23 13:16:21 +01:00
photonstorm
16e9acac84 Updated Body.reset call. 2016-05-23 12:54:41 +01:00
photonstorm
09dd84565e Arcade Physics Body incorrectly positioned if the Sprite had a negative scale (see http://www.html5gamedevs.com/topic/22695-247-248-body-anchoring-any-migration-tips/) (thanks @SBCGames @icameron @Nuuf @EvolViper #2488 #2490) 2016-05-23 12:46:01 +01:00
Upperfoot
4a3e8f2b4a Take into consideration Tilemap position into collision 2016-05-19 11:06:49 +01:00
photonstorm
7018ca2132 Position in Body.reset #2470 2016-05-16 15:20:44 +01:00
photonstorm
ac89d1aec7 Arcade Physics Body has a new property worldBounce. This controls the elasticity of the Body specifically when colliding with the World bounds. By default this property is null, in which case Body.bounce is used instead. Set this property to a Phaser.Point object in order to enable a World bounds specific bounce value (thanks @VitaZheltyakov #2465) 2016-05-16 13:53:12 +01:00
photonstorm
f9994fac75 Fixed a bug in Arcade Physics Body.preUpdate which would incorrectly apply the position of an offset Body (one which has had Body.setSize used on it) when combined with a Sprite with a non-zero anchor (thanks @SBCGames #2470) 2016-05-16 13:39:46 +01:00
photonstorm
19dce62734 Arcade Physics has had a new world argument added to the following functions: distanceBetween, distanceToXY, distanceToPointer, angleBetween, angleToXY and angleToPointer. The argument (which is false by default), when enabled will calculate the angles or distances based on the Game Objects world property, instead of its x and y properties. This allows it to work for objects that are placed in offset Groups, or are children of other display objects (thanks @Skeptron for the thread #2463) 2016-05-16 13:31:57 +01:00
photonstorm
f494c867c7 Fixed an issue in the Arcade Physics overlap method where it would only detect overlaps up to the max bias threshold and no further (thanks @rgk #2441)
The Arcade Physics overlap method would return false if two bodies were overlapping but neither had any velocity (i.e. they were embedded into each other)
2016-04-25 11:38:51 +01:00
photonstorm
628dd1c420 P2.Body.offset is now used and applied to the Sprite position during rendering. The values given are normal pixel values, and offset the P2 Body from the center of the Sprite (thanks @Mourtz #2430) 2016-04-18 20:57:41 +01:00
photonstorm
41f81d39b7 jsdocs update (and removed isCircle switch) 2016-04-18 16:17:47 +01:00
photonstorm
ac4acfb912 Removed Arcade Physics Circle support (now in its own branch) ready for 2.4.7 release. 2016-04-14 13:23:28 +01:00
photonstorm
4d8753e9ce Tidying up for 2.4.7. 2016-04-14 12:57:05 +01:00
photonstorm
aad499b025 Tidying up the code base for 2.4.7. 2016-04-14 12:43:10 +01:00
photonstorm
f4277efc20 Alternative snooker-ball like collision test. 2016-04-11 16:43:17 +01:00
photonstorm
3c4e63fda5 World.separateCircle is working with circle vs. circle bodies. 2016-04-08 03:37:49 +01:00
photonstorm
d009b8d769 Circle vs. Circle rebound code started. 2016-04-07 19:32:27 +01:00
photonstorm
cc5361dd6d World.separate has been optimized to cut down on the number of calls to intersect from 3 calls per Game Object collision check, to 2. So if you were colliding 50 sprites it will reduce the call count from 150 to 100 per frame. It also reduces the calls made to seperateX and seperateY by the same factor.
Two immovable bodies would never set their overlap data, even if an overlap only check was being made. As this is useful data to have this has been changed. Two immovable bodies will still never separate from each other, but they _will_ have their `overlapX` and `overlapY` properties calculated now.
2016-04-07 18:04:45 +01:00
photonstorm
50e126f59e * Body has two new properties: left and top. These are the same as Body.x and Body.y but allow you to pass the Body to geometry level functions such as Circle.contains.
* Body.setCircle allows you to define a Body as using a circle to collide with instead of a rectangle. You can set the radius of the collision circle and an offset.
* Body.render now renders both circle and rectangle body shapes to the Debug canvas.
* World.intersects has been updated to support both circle and rectangle body shapes, and supports quick-paths for circle vs. circle and rect vs. rect checks.
* World.circleBodyIntersects is a new method that checks for intersection between a Body that has been defined as a circle, and a normal rectangle based Body. This is used internally by World.intersects, but exposed for direct calls as well.
2016-04-07 17:01:16 +01:00
photonstorm
952b5c04ea The start of Arcade Physics circle bodies. 2016-04-07 14:32:53 +01:00
photonstorm
e5ceb7e9bc P2.World.setBounds has been re-written completely. If the World is resized it no longer removes the P2 body instances and re-creates them. Instead it checks to see which walls are required and then just moves the position of the shapes instead, or updates them, or creates or destroys them as required. This is far more efficnent, especially in a game which see's a lot of world bounds changes (i.e. resizes responsively in browser) 2016-04-07 01:56:42 +01:00
photonstorm
5c261821fe P2.World.updateBoundsCollisionGroup didn't set the _boundsOwnGroup private var, meaning the World.setBounds method wasn't able to restore previously set collision masks automatically (thanks @jmp909 #2183) 2016-04-07 01:25:52 +01:00
photonstorm
4d5a037ae5 P2.World.updateBoundsCollisionGroup wouldn't use the boundsCollisionGroup mask if you passed true as the argument, only if it was left undefined. 2016-04-07 01:18:19 +01:00
Richard Davey
2f0231b3cd Merge pull request #2415 from jakewilson/dev
Fixed and added warnings.
2016-04-06 01:21:09 +01:00
photonstorm
6933b41e6f Arcade.Body's speed property was only set when the body moved, it now updates regardless (thanks @mark-henry #2417) 2016-04-05 23:06:57 +01:00
Jake Wilson
96a79cd91a Added warning if physics body is enabled on unknown physics system. 2016-04-05 11:23:17 -04:00
photonstorm
f40cfbe2ae 2015 - 2016. 2016-04-04 22:16:16 +01:00
Chad Engler
a510761bf1 fix typo in componentToHex 2016-03-09 15:54:40 -08:00
Richard Davey
0c48c2d6a8 * Added P2.Body.thrustLeft which will move the Body to the left by the speed given (thanks James Pryor)
* Added P2.Body.thrustRight which will move the Body to the right by the speed given (thanks James Pryor)
2016-03-01 22:31:58 +00:00
Richard Davey
5801f1aa15 jshint fixes. 2016-02-04 23:39:58 +00:00
photonstorm
a7c360425f Tidying up code and docs. 2016-02-04 16:23:40 +00:00
Richard Davey
a8b04c4bf1 Merge pull request #2171 from mattrick16/dev
Add method to angle Display Objects relative to world
2016-02-04 18:21:14 +02:00
photonstorm
af4c938299 Docs update (#1967) 2016-02-04 16:05:45 +00:00
Richard Davey
8e6b88cda8 Merge pull request #2172 from jonjanisch/dev
Inconsistency in arcade.collide processCallback param order #667
2016-02-02 17:39:46 +02:00
Richard Davey
6a50e18bf0 Merge pull request #1610 from yigitozdemir/dev
On Ceiling Method Addition
2016-02-01 21:14:12 +02:00
Jonathan Janisch
24c85dbb35 Inconsistency in arcade.collide processCallback param order #667 2015-10-27 23:48:14 -04:00
mattrick
8843a4ad09 Add worldAngleToPointer 2015-10-27 16:55:23 -07:00
photonstorm
b91de47d8d Readme and JSDocs updates. 2015-10-13 12:01:08 +01:00
Christoph Dörfel
a8c4930d42 Add JsDoc comment for Body#addPhaserPolygon return value 2015-09-17 12:11:49 +02:00
Christoph Dörfel
4c9412088c Add option to prefix shape name and optimize JSON output 2015-09-16 14:00:24 +02:00
photonstorm
7487c15f0e Doc updates. 2015-09-08 15:56:28 +01:00
Christoph Dörfel
96441fdb27 Set correct default value for 'clearCallback' on P2.Body.removeCollisionGroup 2015-08-30 01:30:33 +02:00
Christoph Dörfel
2623ddeaf7 Convenience function to remove a collision group from a P2 Body 2015-08-30 00:19:37 +02:00
photonstorm
486c15f16f New docs. 2015-08-24 15:43:45 +01:00
photonstorm
55a7699381 Setting a P2.Body from Static or Kinematic to Dynamic will now automatically adjust the Body.mass to be 1 (thanks @wayfu #2005) 2015-08-20 11:19:30 +01:00
Richard Davey
4eb223f987 jsdocs fix. 2015-07-31 18:39:37 +01:00
Richard Davey
a56cd31638 jsdoc updates. 2015-07-31 18:39:37 +01:00
vrecluse
632c258d8d Fix p2 BodyDebug pixelsPerLengthUnit bug.
When mpx doesn’t return default value, the debug body size and position
goes wrong.
2015-07-31 00:04:32 +08:00