Commit graph

1529 commits

Author SHA1 Message Date
Richard Davey
0ee2442597 Bumping to 3.17.0 2019-03-07 12:31:06 +00:00
Richard Davey
95d47a429d Tidying up 2019-03-05 14:46:41 +00:00
Richard Davey
8167d6d305 New isLayer handling 2019-03-05 14:43:20 +00:00
Richard Davey
d160df3194 Removed late Set, optimized step process and added overlapTiles and collideTile methods. 2019-03-05 14:42:15 +00:00
Richard Davey
6095ab0ef6 Split the Body step up into preUpdate, update and postUpdate. Also tidied up the postUpdate method. 2019-03-05 14:17:57 +00:00
sky-coding
bab6a0bd69 remove erroneous doc comment parameter 2019-02-20 20:48:09 -08:00
Richard Davey
0479badd6e Properties are optional 2019-02-13 17:20:10 +00:00
Richard Davey
42cb39749f Matter and Snapshot typedefs 2019-02-13 15:22:29 +00:00
Richard Davey
b4dbfea0a1 Impact typedefs 2019-02-13 15:05:16 +00:00
Richard Davey
3bb73c5664 Fixed Group defs and completed Arcade Physics defs 2019-02-13 14:45:36 +00:00
Richard Davey
e7b1d086e7 Moving all of the typedefs to properly namespaced scopes, rather than globals
\o/ ~ "Someone, save me!"
2019-02-13 12:35:12 +00:00
Richard Davey
b50e1c78b5 Lots more jsdoc tweaks and improvements 2019-02-12 15:01:54 +00:00
Richard Davey
dc73993fe2 Added jsdoc version numbers 2019-02-12 12:22:25 +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
0b4dc5f037 Should be a config setter. 2019-02-04 21:50:55 +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
ebe4af217c lint fix 2019-01-24 00:30:44 +00:00
Richard Davey
cf2095f0c8 The Arcade Physics Body has a new property maxSpeed which limits the vector length of the Body velocity. You can set it via the method setMaxSpeed and it is applied in the World.computeVelocity method 2019-01-24 00:26:29 +00:00
Richard Davey
4c24799eac Arcade Physics could trigger a collide event on a Body even if it performing an overlap check, if the onCollide property was true 2019-01-18 16:16:14 +00:00
Richard Davey
7237277abe
Merge pull request #4287 from samme/fix/arcade-body-deltas
Queue 'late' colliding bodies for a second update
2019-01-18 16:03:36 +00:00
Richard Davey
1eccff1e3b Fixed jsdoc links and markdown bullet lists 2019-01-18 15:20:56 +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
99cd0259fe Spelling mistake fix. 2019-01-17 14:57:24 +00:00
Richard Davey
d41286bd4f Added Impact Events. 2019-01-17 14:54:38 +00:00
Richard Davey
5494f6ac79 Arcade Physics Events 2019-01-17 14:04:36 +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
samme
87bd2e68d3 Queue 'late' colliding bodies for a second update
- Fixes #4154
- Fixes #4284
2019-01-09 12:56:32 -08: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
Artem Kuskis
24d3406b7d Fix circles collision 2019-01-05 11:26:03 +03: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
Francois
03aa16531d Make customBoundsRectangle available in the physics group 2018-12-15 22:52:12 +01:00
Francois
7033297aa3 Use a custom bounds rectangle for the Arcade Body to overwrite the world bounds 2018-12-15 22:08:09 +01:00
Richard Davey
af5b1f2427 StaticBody.reset in Arcade Physics would ignore the x and y values given to it. If given, they're now used to reset the parent Game Object before the body is updated. Fix #4224 2018-12-12 12:39:47 +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
1a407bc4f5 ArcadePhysics.Body.destroy will now only add itself to the World pendingDestroy list if the world property exists. This prevents Cannot read property 'pendingDestroy' of undefined errors if you try to delete a physics body in a callback and then immediately change Scene (which tells the physics work to also delete all bodies) 2018-12-06 14:47:06 +00:00
Richard Davey
2780babe10 Final Doc Jam merge 2018-12-03 15:16:23 +00:00
Richard Davey
c1771ecdac Merge branch 'master' of https://github.com/photonstorm/phaser 2018-11-20 11:02:31 +00:00
Richard Davey
8cd45a72b2 ESLint fixes 2018-11-20 11:02:19 +00:00
Richard Davey
96b9db5cb7
Merge pull request #4150 from samme/docs/misc
Docs updates
2018-11-20 10:45:54 +00:00
Richard Davey
f06bb3d420 Formatting fix 2018-11-20 10:21:02 +00:00
Mike Thomas
a3965cb609 issue/4168 draw circular StaticBody as circle in drawDebug 2018-11-16 17:43:53 +01:00
samme
b5a2d9d0cf Docs for Arcade Physics
Minor additions/corrections
2018-11-07 09:43:43 -08:00
samme
7ff8d51f98 Docs for input and physics events 2018-10-24 12:14:44 -07:00
Richard Davey
956a0913b8 Added new jsdocs 2018-10-22 12:12:31 +01:00
Richard Davey
0b3d54a198 Added jsdocs 2018-10-19 18:29:36 +01:00
Richard Davey
a083318e02 Added lots of missing jsdocs 2018-10-19 17:45:05 +01:00
Richard Davey
772159d8f0
Merge pull request #4118 from pierpo/patch-1
Fix issue with null config in Arcade PhysicsGroup constructor
2018-10-19 13:43:18 +01:00
Richard Davey
f26c869c61
Merge pull request #4069 from samme/feature/drawDebug
Use defaultStrokeWidth in Arcade.Body#drawDebug()
2018-10-19 13:27:45 +01:00
Richard Davey
16d297746d
Merge pull request #4122 from samvieten/patch-2
JSDocs wrong Boolean on checkCollision description
2018-10-19 13:16:18 +01:00
Richard Davey
4c4421c47f Docjam merge 2018-10-19 12:32:43 +01:00
sam
467f165bf4
JSDocs wrong Boolean on checkCollision description
L647 "checkCollision.none = false to disable collision checks" this is false way description, changed to "= true"
As of pull request: photonstorm/phaser3-docs#75
2018-10-19 06:42:25 +08:00
Pierre Poupin
63458ab336
Fix issue with null config in PhysicsGroup constructor 2018-10-17 01:13:18 +02:00
Richard Davey
a043cc88ea Changed version number 2018-10-12 18:32:52 +01:00
Richard Davey
a9938baec6
Merge pull request #4070 from samme/feature/arcade-group-config-enable
Add PhysicsGroupConfig.enable, Arcade.Body#setEnable()
2018-10-12 18:29:58 +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
e297b3272e Added hundreds of new jsdoc descriptions 2018-10-01 11:35:01 +01:00
samme
69ff71e0bd Add description for PhysicsGroupDefaults.setEnable 2018-09-29 14:09:05 -07:00
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
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
photonstorm
858ad51610 Phaser 2.4 release. 2015-07-22 15:31:30 +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
Richard Davey
9e38bf974a World.stateChange is a new method that is called whenever the state changes or restarts. It resets the world x/y coordinates back to zero and then resets the Camera.
Sprites with Arcade Physics bodies that had `collideWorldBounds` enabled would be moved to the wrong position if you restarted a State (or swapped to a new State) that reset the world bounds (thanks @vulvulune #1775)
2015-07-22 01:24:26 +01:00
Richard Davey
6531552b32 Merge pull request #1905 from standardgaussian/aabbninja
AABB vs. AABB collision in Ninja
2015-07-16 15:45:09 +01:00
photonstorm
a0d57544c7 P2 updates finished. 2015-07-13 14:48:33 +01:00
photonstorm
956fa493a6 The P2.Body.onBeginContact arguments have changed. It now sends 5 arguments: The Phaser.P2.Body, the p2.Body, the p2 Shape from Body A, the p2 Shape from Body B and the contact equations array. Note that the Phaser.P2.Body may be null if you collide with a 'native' p2 body (such as the world bounds). However the p2.Body argument will always be populated.
The P2.Body.onEndContact arguments have changed. It now sends 4 arguments: The Phaser.P2.Body, the p2.Body, the p2 Shape from Body A and the p2 Shape from Body B. Note that the Phaser.P2.Body may be null if this is the end of a contact with a 'native' p2 body (such as the world bounds). However the p2.Body argument will always be populated.

Upgraded to p2.js 0.7.0
2015-07-13 11:44:04 +01:00
Standard Gaussian
b8710d7066 Removed unused local variables in Ninja.AABB.reportCollisionVsBody 2015-07-11 21:28:15 +01:00
Standard Gaussian
e7356e003f Implemented Ninja AABB vs AABB collisions 2015-07-11 21:04:16 +01:00
photonstorm
f48d038db3 Lots of jsdoc updates (#1644) 2015-07-08 15:10:41 +01:00
Richard Davey
f57d3c19e9 P2.Body.createGroupCallback incorrectly referenced the _groupCallbackContext when deleting it (thanks @Langerz82 #1886) 2015-07-07 01:24:26 +01:00
Standard Gaussian
a556dfdc69 Issue #1885: P2.enableBody now checks if an anchor exists on target object before attempting to set its value 2015-07-05 22:39:15 +01:00
Richard Davey
306fbf4d5c Merge pull request #1810 from Preece/tilemap-overlap
Sprite vs Tilemap can now check for overlap, without trying to separate
2015-06-17 01:38:42 +01:00
photonstorm
71cf2064ab Fixed TS defs and jsdoc for Ninja convertTilemap #1756 2015-06-16 19:10:01 +01:00
photonstorm
17831e0103 P2.Body.loadPolygon now allows the key parameter to be passed as null - when this happens the object parameter can be the actual physics object data instead of a string pointing to the cache, allowing you to take advantage of adding multiple convex shapes with automatic adjustments for center of mass #1801 2015-06-16 19:02:28 +01:00
photonstorm
58f4b07741 Clarified relationship between Sprite and BodyDebug #1795 2015-06-16 18:30:54 +01:00
photonstorm
c518fa32b7 Formatting. 2015-06-16 14:16:04 +01:00
Casey Clyde
e935df328d Sprite vs Tilemap can now check for overlap, without trying to separate 2015-05-23 22:39:12 -07:00
photonstorm
19f8a7316e ArcadePhysics.Body.syncBounds is a new property that if true forces the Body to check itself against the Sprite.getBounds() dimensions and adjust its width and height accordingly. If false it will compare its dimensions against the Sprite scale instead, and adjust its width height if the scale has changed. Typically you would need to enable syncBounds if your sprite is the child of a responsive display object such as a FlexLayer, or in any situation where the sprite scale doesn't change, but its parents scale is effecting the dimensions regardless. 2015-04-29 13:13:26 +01:00
photonstorm
432516fa0f Physics.Arcade.sort has a new property 'sortDirection'. If not specified it will use World.sortDirection. If the Group given as the first parameter has its physicsSortDirection property set that will override any other setting.
Physics.Arcade.sort now calls one of four functions: sortLeftRight, sortRightLeft, sortTopBottom and sortBottomTop. Each of which takes 2 Sprites as arguments.

Physics.Arcade.sort now doesn't bail out if the Group contains a mixture of physics and non-physics enabled objects, as the Group hash is now only ever populated with physics enabled objects. Also the sort comparison functions no longer return -1 if the bodies are invalid, but zero instead (#1721)
2015-04-13 16:29:34 +01:00
photonstorm
35bfe5fb2a Body.destroy now automatically calls Group.removeFromHash. 2015-04-13 16:27:43 +01:00
photonstorm
412338478c Added in all hooks required for MatterJS Physics (coming soon!) 2015-04-13 16:16:34 +01:00
photonstorm
04cb3889a9 P2.getConstraints would return an array of null objects. It now returns the raw p2 constraint objects (thanks @valueerrorx #1726) 2015-04-13 12:12:18 +01:00
Richard Davey
0b3fc61ba7 Merge pull request #1723 from dgoemans/dev
Fix for Phaser with requirejs
2015-04-13 11:29:58 +01:00
Chad Engler
b89cdd5a0c check for existence of sprite on body destroy 2015-04-12 17:30:54 -07:00
David Goemans
73bace335a Built a fix into p2.js v0.6.1 for using requirejs with phaser. This has also been put as a pull request to p2.js 2015-04-06 12:43:03 +02:00
photonstorm
ebdb6d028f The Physics Manager now has a new reset method which will reset the active physics systems. This is called automatically on a State swap (thanks @englercj #1691) 2015-03-24 10:21:12 +00:00
photonstorm
77eaa7e707 Optimised World.collideHandler and added SORT_NONE option. 2015-03-23 15:05:57 +00:00
photonstorm
b07ce89236 sourceWidth / Height now only set from the texture if the object has a texture. 2015-03-23 15:05:39 +00:00
photonstorm
ba052389a3 New version of p2.js merged for testing. 2015-03-23 10:11:49 +00:00
photonstorm
3f30a3d0d2 jsdocs updates. 2015-03-23 10:11:39 +00:00
Chad Engler
f5af981da3 fix missing semicolon 2015-03-22 21:28:27 -07:00
Chad Engler
97410f8907 add debug drawing for p2 capsule shape 2015-03-22 19:45:18 -07:00
breakosaur
bb600b4319 Fixed a few documentation typos. 2015-03-18 21:07:36 +00:00
Chad Engler
0b3850cc0c Fix debug drawing for p2 physics bodies 2015-03-18 01:19:32 -07:00
photonstorm
893d36f128 jsdoc fix. 2015-03-05 14:01:52 +00:00
photonstorm
2483cd5df4 Various readonly Body properties flagged as 'readonly' in the jsdocs (#1643) 2015-02-26 23:32:14 +00:00
photonstorm
f99f182a6f Arcade Physics is now using a spacial pre-sort for all Sprite vs. Group and Group vs. Group collisions. You can define the direction the sort will prioritise via the new sortDirection property. By default it is set to Phaser.Physics.Arcade.LEFT_RIGHT. For example if you are making a horizontally scrolling game, where the player starts on the left and moves to the right, then this sort order will allow the physics system to quickly eliminate any object to the right of the players bounds. This cuts down on the sheer volume of actual collision checks needing to be made. In a densely populated level it can improve fps rate dramatically.
There are 3 other directions available (`RIGHT_LEFT`, `TOP_BOTTOM` and `BOTTOM_TOP`) and which one you need will depend on your game type. If you were making a vertically scrolling shoot-em-up then you'd pick `BOTTOM_TOP` so it sorts all objects above and can bail out quickly.

More importantly you can switch the `sortDirection` at run-time with no loss of performance. Just make sure you do it *before* running any collision checks. So if you had a large 8-way scrolling world you could set the `sortDirection` to match the direction the player was moving in and adjust it in real-time, getting the benefits as you go. My thanks to Aaron Lahman for inspiring this update.
2015-02-26 21:24:07 +00:00
photonstorm
03a2db18cb Added extra protection in the case of mixed-type Groups.
Removed window vars and replaced with stats property.
Removed redundant if/else checks.
2015-02-25 06:06:40 +00:00
photonstorm
8aec760cd5 First pass at spacial sorting in World.collide. 2015-02-25 05:39:02 +00:00
photonstorm
a69e53f901 Copyright date change. 2015-02-25 03:36:23 +00:00
photonstorm
dee13d52d8 jshint fix. 2015-02-25 02:50:57 +00:00
photonstorm
c799dfe7da Fixed physics postUpdate issue causing particles and all kinds of things to go awry. 2015-02-25 02:18:05 +00:00
photonstorm
3d399f1b14 Removed the final few private vars from computeVelocity 2015-02-25 00:04:53 +00:00
photonstorm
42b316473d jsdoc fix. 2015-02-23 13:58:57 +00:00
photonstorm
a7bdce1806 Moved collideSpriteVsTilemapLayer to here. 2015-02-19 05:00:22 +00:00
photonstorm
eb732e1d90 Refactored ArcadePhysics.World to remove global property use and array length caches. 2015-02-19 04:59:55 +00:00
photonstorm
052b9a7e06 Separated the Tilemap specific code from World. 2015-02-17 15:49:53 +00:00
photonstorm
4bb1adcf36 Typo fix. 2015-02-17 06:00:18 +00:00
photonstorm
1229c791b3 Added Body.dirty flag (reserved for future use) 2015-02-17 05:13:54 +00:00
photonstorm
0588f95f4c Body.phase renamed to Body.dirty. 2015-02-17 05:13:36 +00:00
photonstorm
86f05160b7 Removed array length vars and added strict equalities. 2015-02-17 05:13:12 +00:00
photonstorm
8483eac6aa Removing all use of _cache from all Game Objects. 2015-02-16 17:22:51 +00:00
photonstorm
f60b2b7635 World.setBounds if called after you had already started P2 Physics would incorrectly create a new collision group for the wall objects. P2.World now remembers the settings you provide for each wall and the collision group, and re-applies these settings should the world dimensions ever change (thanks @nextht #1455) 2015-02-11 22:33:29 +00:00
yigitozdemir
9ad1230257 On Ceiling Method Added 2015-02-11 01:36:35 +02:00
photonstorm
18ff04810f ArcadePhysics.distanceToPointer now calculates the distance in world space values.
ArcadePhysics.moveToPointer no longer goes crazy if the maxTime parameter is given and the Sprite is positioned in a larger game world (thanks @AnderbergE #1472)
2015-02-10 22:16:35 +00:00
photonstorm
816a80f39a If Body.customSeparateX or customSeparateY is true then the Body will no longer be automatically separated from a **Tilemap** collision or exchange any velocity. The amount of pixels that the Body has intersected the tile is available in Body.overlapX and overlapY, so you can use these values to perform your own separation in your collision callback (#992) 2015-02-10 12:58:12 +00:00
photonstorm
6081aa360f P2.Body.clearCollision default values were incorrectly set to false if no parameters were provided, even though the docs said they were true (thanks @brianbunch #1597) 2015-02-08 21:57:08 +00:00
photonstorm
d710caed9e Body.reset now resets the Body.speed value to zero. 2015-02-05 05:12:31 +00:00
Richard Davey
66ad09ebd0 Merge pull request #1549 from tomlarkworthy/fixAdjustMass
Bug fix: adjust mass and debug body gfx
2015-02-03 21:12:15 +00:00
Richard Davey
0953e927b4 Merge pull request #1559 from vulvulune/dev
Complete "tsdocs" tasks to download plugins + improve ts doc + grunt:jsdoc
2015-02-03 21:04:30 +00:00
Richard Davey
21823f65e3 Merge pull request #1576 from vulvulune/jsdoc
Correct comments
2015-02-03 20:47:32 +00:00
Richard Davey
9efca46021 Merge pull request #1582 from micahjohnston/dev
Fix doc comment on Phaser.Physics.Arcade#getObjectsAtLocation.
2015-02-03 20:45:33 +00:00
zekoff
0ccd225e08 Allow max of 0 in computeVelocity
Previous method of setting default max did not allow falsey values.
2015-02-03 11:36:53 -06:00
Micah Johnston
34d443153f fix argument name in comment on Phaser.Physics.Arcade#getObjectsAtLocation. 2015-01-30 05:48:34 -07:00
Micah Johnston
401d2fe847 Fix doc comment on Phaser.Physics.Arcade#getObjectsAtLocation. 2015-01-29 18:13:03 -07:00
photonstorm
d6ea8fb956 jsdoc updates (spelling mistakes, code formatting, etc) 2015-01-28 17:18:33 +00:00
vulvulune
1aab540a6f Correct comment Phaser.Physics.P2.BodyDebug
Set correct method name in comments
2015-01-27 15:26:05 +01:00
vulvulune
7be4b8d7a9 Replace the grunt docs tasks with grunt-jsdoc
Replace builddoc and exportdocjson grunt tasks with grunt-jsdoc.
To avoid an error I added a fake comment to a @todo param in the p2.js
file.
2015-01-22 16:22:51 +01:00
photonstorm
587c3e5f6a Arcade.Body.friction allows you to have more fine-grained control over the amount of velocity passed between bodies on collision. 2015-01-18 12:24:00 +00:00
Tom Larkworthy
4b32505383 calling adjust mass desyncs the debug graphics from the real positions of bodies 2015-01-17 21:15:10 -08:00
photonstorm
0f42b530eb Physics.Arcade.isPaused allows you to toggle Arcade Physics processing on and off. If true the Body.preUpdate method will be skipped, halting all motion for all bodies. Note that other methods such as collide will still work, so be careful not to call them on paused bodies. 2015-01-10 00:30:02 +00:00
photonstorm
8cd98e2e36 jsdocs fixes. 2015-01-05 10:59:10 +00:00
photonstorm
15d5b54c26 Removed redundant updateTransform call. 2015-01-02 04:15:27 +00:00
Richard Davey
3c4a9720c6 Body updateTransform patch re: #1493 and #1490 2015-01-01 12:33:43 +00:00
photonstorm
965fbc96e7 Typo fixes :) 2014-12-11 22:30:24 +00:00
photonstorm
3c564a33b6 The P2 World constructor wouldn't let you use your own config unless you specified both the gravity *and* broadphase. Now allows one or both (thanks @englercj #1412) 2014-12-11 22:04:45 +00:00
photonstorm
4abb1550d7 P2.postBroadphaserHandler updated to avoid skipping final 2 pairs. 2014-12-11 22:00:06 +00: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
667d477a16 P2.BodyDebug always lagged behind the position of the Body it was tracking by one frame, which became visible at high speeds. It now syncs its position in the Body.postUpdate which prevents this from happening (thanks @valueerror) 2014-11-25 22:21:11 +00:00
photonstorm
7aaa63e7a5 When you change State the P2 Physics world is no longer fully cleared. All of the bodies, springs, fixtures, materials and constraints are removed - but config settings such as gravity, restitution, the contact solver, etc are all retained. The P2.World object is only created the very first time you call Physics.startSystem. Every subsequent call hits P2.World.reset instead (#1292) 2014-11-25 12:09:03 +00:00
Pete Baron
bc70ce74b5 Minor logic fix to nested loop counters. 2014-11-12 15:00:26 +13:00
Pete Baron
1c7059ea6c Merge remote-tracking branch 'phaser-github/dev' into dev
Conflicts:
	src/animation/FrameData.js
	src/core/Game.js
	src/particles/arcade/Emitter.js
	src/time/Time.js
	src/tween/Tween.js
2014-11-12 13:03:52 +13:00
Pete Baron
af09290cbf Add getObjectsAtLocation method in Arcade physics. 2014-11-12 11:24:38 +13:00
photonstorm
8bf93fb658 ArcadePhysics.skipQuadTree is now set to true by default. A QuadTree is a wonderful thing if the objects in your game are well spaced out. But in tightly packed games, especially those with tilemaps or single-screen games, they are a considerable performance drain and eat up CPU. We've taken the decision to disable the Arcade Physics QuadTree by default. It's all still in there and can be re-enabled via game.physics.arcade.skipQuadTree = false, but please only do so if you're sure your game benefits from this. 2014-11-11 01:05:58 +00:00
photonstorm
0f3849491d P2.BodyDebug circles were drawing at half widths (thanks @enriqueto #1288) 2014-11-08 14:09:26 +00:00
Pete Baron
497e919e43 Adjusted particle emitter for slow-mo.
Removed un-needed physics changes.
2014-11-03 13:01:14 +13:00
Pete Baron
0da8c6cb1a Established fixed steps for logic update with catch-up for dropped frames.
Render update runs every frame.
Tweens moved into render update to maintain smooth motion.
Added Time.slowMotion factor, integrated with logic/render updates and tweens.
2014-11-03 12:02:43 +13:00
photonstorm
96fd0ade74 JSDoc fixes. 2014-10-21 22:43:42 +01:00
photonstorm
00b5472d4c jshint fixes. 2014-09-29 12:29:18 +01:00
photonstorm
b0e96a37b9 Added Box2D handler support. 2014-09-29 12:27:28 +01:00
DanX
3a1ec3c5c1 Fix docs for collide and collideHandler 2014-09-26 22:37:11 -03:00
photonstorm
20551f9129 Lots of jsdocs fixes ready for the new doc generator. 2014-09-16 17:35:08 +01:00
photonstorm
5eedc4c2c5 The physics config object is now stored locally in World.config. 2014-09-09 12:49:31 +01:00
photonstorm
59f7c53019 P2.Body.addCapsule didn't use to pass the radius value through pxm, but now does so you have to specify it in pixels, not meters. 2014-09-08 22:34:53 +01:00
Richard Davey
55400ce988 World.createDistanceConstraint signature changed to include new local anchors (thanks @rhmoller #1169) 2014-09-04 22:22:10 +01:00
photonstorm
865c6878bf P2.World.getSprings used to return an empty array, but now returns all the Springs in the world (#1134) 2014-09-02 15:06:43 +01:00
Carlos Martinez
ec9a8b6903 Firxed for travis build. 2014-09-01 15:03:29 +01:00
Carlos Martinez
9843818f30 Merge branch 'dev' of https://github.com/photonstorm/phaser into dev 2014-09-01 14:19:50 +01:00
Carlos Martinez
0640cc0c03 Added support to pass 2 array in Arcade collide and overlap (response to an issue). 2014-09-01 14:01:36 +01:00
photonstorm
070e33f1e7 ArcadePhysics.overlap has been updated so that the Body.overlapX/Y properties are set to the amount the two bodies overlapped by. Previously they were zero and only populated during the separation phase, but now the data is available for just overlap checks as well. You can then use these values in your ovrelap callback as required - note that they are changed for every check, so a Sprite overlap tested against 10 other sprites will have the overlapX/Y values updated 10 times in a single collision pass, so you can only safely use the values in the callback (#641) 2014-09-01 03:54:55 +01:00
photonstorm
9b6ffc3f94 Moved Springs to not extend p2 Springs as they break when added to the p2.World. Springs and spring removal now working properly (#1134) 2014-08-29 14:13:20 +01:00
photonstorm
69b9e5eb7c Arcade.overlap and collide are now more consistent about allowing a Group vs. Group or Group vs. Array of Groups set (thanks @pyromanfo #877 #1147) 2014-08-29 01:28:43 +01:00
Richard Davey
32989094f4 Merge pull request #1147 from pyromanfo/dev
Fix for group vs group within group collision (fixes #877)
2014-08-29 01:27:01 +01:00
Allen Cook
5a3eeb8a9c Fix for group vs group within group collision (fixes #877) 2014-08-28 20:23:02 -04:00
photonstorm
dd160f004b jsdocs update for collideWorldBounds #1010 2014-08-29 01:16:05 +01:00
photonstorm
6fbaa36ddd P2.PointProxy.mx and my values are get and set in meters with no pixel conversion taking place.
P2.InversePointProxy.mx and my values are get and set in meters with no pixel conversion taking place.
P2.PointProxy.x and y values are now returned in pixels (previously they were returned in meters). See PointProxy.mx/my for meter values.
P2.InversePointProxy.x and y values are now returned in pixels (previously they were returned in meters). See PointProxy.mx/my for meter values.
2014-08-28 17:04:58 +01:00
photonstorm
a7d9b2c8c5 The P2.World.postBroadphaseHandler now checks if the returned pairs array is empty or not before processing it (thanks @wayfu #934) 2014-08-28 04:24:08 +01:00
photonstorm
0f207c47a7 Calling P2.Body.destroy or ArcadePhysics.Body.destroy wouldn't null the parent sprite body, causing it to error in the next update (thanks @jonathanhooker #1077) 2014-08-28 03:44:02 +01:00
photonstorm
ec687868de Input.setMoveCallback has been removed due to deprecation.
BitmapData.refreshBuffer has been removed and replaced with BitmapData.update.
BitmapData.drawSprite has been removed due to deprecation. Use BitmapData.draw instead.
Pointer.moveCallback has been removed due to deprecation.
SinglePad.addButton has been removed due to deprecation.
P2.Body.loadData has been removed due to deprecation.
P2.World.defaultFriction and defaultRestitution have been removed due to deprecation.
Canvas.create noCocoon parameter has been removed due to deprecation.
Color.getColorInfo, RGBtoHexstring, RGBtoWebstring and colorToHexstring has been removed due to deprecation.
2014-08-28 03:40:59 +01:00
photonstorm
c87aa5103d Fixed the RevoluteConstraint worldPivot and moved it to the end of the signature to minimise code changes. 2014-08-28 01:14:59 +01:00
photonstorm
aeb82dbee9 World.createRotationalSpring will now let you create rotational springs. 2014-08-28 00:58:50 +01:00
photonstorm
6acc8bf9f2 World.enableBodySleeping has been removed and replaced with World.sleepMode. 2014-08-28 00:45:57 +01:00
photonstorm
98ccae56de P2.Body now uses the new Body.type value instead of Body.motionState, however as P2.Body already have a property called type we have left the motionState getter/setter in for now. 2014-08-28 00:39:47 +01:00
photonstorm
4935a4e4af RevoluteConstraint fixed for new version of p2. 2014-08-28 00:24:56 +01:00
photonstorm
b25bdf3523 Fixed the DistanceConstraint parameters. 2014-08-28 00:15:28 +01:00
photonstorm
504b69ffaa Updated p2.js to d1c7a340c42e4d5d1d939fba5fd13c5e49d6abd2
Updated grunt replace task to match p2s new UMD signature.
2014-08-28 00:01:35 +01:00
photonstorm
36ecd81f29 Arcade Physics Body.skipQuadTree is a new boolean that if set to true when you collide the Sprite against a Group it will tell Phaser to skip using a QuadTree for that collision. This is handy if this Body is especially large.
Arcade Physics World.skipQuadTree will disable the use of all QuadTrees in collision methods, which can help performance in tightly packed scenes.
2014-08-04 13:04:11 +01:00
Richard Davey
acceb692c3 Merge pull request #1071 from Dumtard/dev
Fix for previous PR #1028
2014-07-31 13:48:15 +01:00
photonstorm
9bbc8ecce3 Phaser.Physics.P2.addPolygon now takes a nested array again (thanks @wayfu #1060) 2014-07-31 13:39:26 +01:00
Charles Black
a90ab2e59b P2 bounds now collides with everything by default 2014-07-27 16:06:55 -04:00
photonstorm
d72e199291 Physics.bounds now correctly matches World.bounds on system start (thanks @Dumtard #1028) 2014-07-16 00:14:47 +01:00
Petar Petrov
78771d875b Fix issue #883
Check if points is an Array before parsing arguments.
2014-07-12 22:50:48 +02:00
photonstorm
2293b64c94 Removing debug / console.log output. 2014-07-09 05:49:13 +01:00
Richard Davey
6ce183189f Merge pull request #971 from psalaets/issue-970
reorder param list of Phaser.Physics.Arcade.Body.render
2014-07-07 10:29:51 +01:00
Paul Salaets
cbf0a9011a remove a little duplication 2014-07-05 21:53:32 -04:00
Paul Salaets
0c15ef6adc move shape specific debug rendering into the shapes 2014-07-05 21:29:28 -04:00
Paul Salaets
77b86f43e3 support for debug rendering ninja AABB and circle bodies 2014-07-05 20:58:33 -04:00
Paul Salaets
79f550bc89 updating comments: default color and method name 2014-07-05 18:08:00 -04:00
Paul Salaets
0694dab909 reorder param list to be consistent with comment's ordering and other code 2014-07-05 17:50:13 -04:00
photonstorm
6e94aa7cde Updated applyForce docs. 2014-07-02 16:29:30 +01:00
Richard Davey
a425470f41 Merge pull request #925 from jonkelling/dev
Fix for issue #917, Physics.P2.Body#addToWorld
2014-07-01 15:52:29 +01:00
Richard Davey
ba29d5bd4b Merge pull request #910 from TatumCreative/dev
Fix null returns for play()
2014-07-01 15:39:17 +01:00
Richard Davey
117aef650b Merge pull request #956 from Phaiax/phaserdts-createcollisiongroup
createCollisionGroup -> public, included in .d.ts file
2014-07-01 15:37:31 +01:00
Richard Davey
2fb9217776 Merge pull request #955 from Phaiax/issue952-p2bounds
P2 bottom world wall position fix
2014-07-01 15:36:02 +01:00
Richard Davey
1a0ebe6d26 Merge pull request #954 from Phaiax/issue953-bodydebug
inverting debug getter result
2014-07-01 15:35:35 +01:00
Phaiax
00bf349ff5 Body.enable only exists in Arcade physics, so move conditions concerning this into arcarde 2014-06-30 12:49:53 +02:00
Phaiax
18229d1673 fix jshint warning 2014-06-29 18:23:43 +02:00
Phaiax
394e70db06 inverting debug getter result 2014-06-28 01:33:02 +02:00
Phaiax
441d0a816e P2 bottom world wall position fix 2014-06-28 01:28:59 +02:00
Phaiax
961d25cadc createCollisionGroup -> public, included in .d.ts file 2014-06-28 01:25:51 +02:00
photonstorm
cd60554c78 Added P2 body anchor docs to clarify #938 2014-06-23 23:34:27 +01:00
jonkelling
36d70697db Fix for issue #917, Physics.P2.Body#addToWorld
Fix for issue #917: Calling reset() on Sprite with a P2 body can result in body.data.world == null.
Calling addToWorld() would previously not check the _toRemove array, which could, if the timing were right, result in a Sprite being revived but then removed from the P2 World--the result of this being the Sprite's data would be in a mixed state causing it to appear visually but not function in the world.
2014-06-17 21:53:20 -05:00
Greg Tatum
50f91eae54 Shape changed not called on removeShape
It looks like a bunch of these methods that modify the body don't call shapeChanged(). If you want I can add them all and resubmit.
2014-06-17 08:36:39 -05:00
photonstorm
69525799d7 New build files for testing. 2014-06-11 12:46:49 +01:00
photonstorm
50e47d89ee ArcadePhysics.Body.setSize if you set offset x/y values previously and then passed zero values they would be ignored (thanks @casensiom fix #889) 2014-06-11 00:21:04 +01:00
Richard Davey
13700148fb Merge pull request #891 from aivins/issue890
Separate from TilemapLayer after custom callbacks.
2014-06-11 00:00:20 +01:00
Lewis Lane
a16cb3f5a2 Added notes to overlap/collide regarding non-recursiveness
Made it clear that the overlap and collide methods do not recursively check for collisions, i.e. in the case of being passed a Group containing other Groups or Tilemaps.
2014-06-09 08:05:23 +01:00
Andrew Ivins
ccd914620d Separate from TilemapLayer after custom callbacks. 2014-06-09 14:28:14 +08:00
photonstorm
9c35dfde0c ArcadePhysics.Body has a new boolean property enable. If false the body won't be checked for any collision or overlaps, or have its pre or post update methods called. Use this for easy toggling of physics bodies without having to destroy or re-create the Body object itself. 2014-05-27 11:22:58 +01:00
photonstorm
88306b6e12 P2 World array reset fix. 2014-05-20 10:03:00 +01:00
photonstorm
2b40c8a7c7 Pointer.type and Pointer.exists properties added.
QuadTree.retrieve can now accept either a Sprite with a physics body or a Phaser.Rectangle as its parameter.
ArcadePhysics.getObjectsUnderPointer will return all children from a Group that overlap with the given Pointer.
2014-05-06 02:45:10 +01:00
photonstorm
bd4c2176f0 Added an additional tile index check to P2.World.convertTilemap. 2014-05-01 02:40:17 +01:00
photonstorm
b40769019b The P2 DistanceConstraint method signature has changed. Updated Phaser so maxForce is now passed as object (fix #788) 2014-04-30 16:54:56 +01:00
photonstorm
fa613c5fe1 ScaleManager seeds _check private var with null to avoid later comparison check (thanks @jflowers45, fix #782)
P2.Body.applyForce should have used pxmi instead of pxm (thanks @Trufi, fix #776)
P2 fixed creation of RevoluteConstraint by passing maxForce in the options (thanks @woutercommandeur, fix #783)
2014-04-29 19:34:38 +01:00
Wouter Commandeur
b1953bd0a0 fix creation of RevoluteConstraint by passing maxForce in the options 2014-04-29 20:12:56 +02:00
photonstorm
1d37cde66f Updated p2 to latest build and patched for Float32Array + UMD issues. 2014-04-29 02:34:16 +01:00
photonstorm
251bc10327 jshint fixes. 2014-04-25 02:52:14 +01:00
Georgios Kaleadis
33fc41a9b0 fix comment 2014-04-24 11:59:55 +02:00
Georgios Kaleadis
339da73160 pausable p2 world 2014-04-24 11:56:52 +02:00
photonstorm
4ec5665148 Fixed #750 - Invalid typescript mapping for TileSprite.autoScroll function in TS defs.
Game checks if window.console exists before using it (should fix IE9 issues when dev tools are closed), however it is still used deeper in Pixi.
Body.loadData flagged as deprecated.
2014-04-22 23:31:07 +01:00
photonstorm
944e03ddb8 P2.Body.loadPolygon has been updated to correct center of mass issues (thanks @georgiee, fix #749) 2014-04-22 22:33:25 +01:00
Georgios Kaleadis
c0189c02c1 fixed loadPolygon center of mass 2014-04-22 19:56:25 +02:00
Opher Vishnia
22b62726ad Fixed typo in world.setMaterial
The function contained a typo: bodies is an Array and so bodies.setMaterial is undefined
2014-04-19 19:39:50 +03:00
photonstorm
713bd203ee ArcadePhysics.collideSpriteVsGroup checks if Sprite has a body before carrying on, now safely skips sub-groups or other non-Sprite group children.
QuadTree.retrieve now checks to see if the given Sprite has a body before carrying on.
2014-04-17 12:31:14 +01:00
photonstorm
3b73c17997 ArcadePhysics.Body.phase is checked in postUpdate to prevent it from being called multiple times in a single frame. 2014-04-15 02:50:25 +01:00
photonstorm
e9cb345261 P2.World.convertTilemap now correctly checks the collides parameter of the tiles as it converts them. 2014-04-14 13:52:53 +01:00
photonstorm
a2b2d558a5 jsdoc and jshint fixes. 2014-04-11 03:02:19 +01:00
photonstorm
77f8e5eefc P2 Fixtures Collection Class (@georgiee please test it works ok! #704) 2014-04-11 00:43:30 +01:00
Richard Davey
b7b1e7428a Merge pull request #704 from georgiee/fixture-list
P2 Fixtures Collection Class
2014-04-11 00:19:05 +01:00
photonstorm
a01cc2e1ca Objects with an InputHandler now deactivate it when the object is removed from a Group but not destroyed (fix #672)
Lots of jsdoc fixes in Body and World.
Removed un-used events from World (such as onImpact).
2014-04-11 00:06:22 +01:00
Georgios Kaleadis
13e5cacd71 added a p2 fixture collections helper class 2014-04-10 23:45:35 +02:00
Georgios Kaleadis
1213cae0a4 additionally save fixtures by key 2014-04-10 21:28:14 +02:00
photonstorm
289b5b2532 Removed un-used vars. 2014-04-10 17:25:35 +01:00
photonstorm
9ddcc5d0ea p2.World.defaultRestitution has been deprecated and is now p2.World.restitution.
p2.World.defaultFriction has been deprecated and is now p2.World.friction.
p2.World now uses 4 bodies for the world boundaries, rather than 1 body with 4 shapes. This helps the broadphase massively.
p2.World bounds are now included in the callback events such as beginContact and impact events.
2014-04-10 17:11:16 +01:00
photonstorm
780fb48ab3 P2.World has a new contactMaterial property, which can be configured like a normal P2 Contact Material and is applied when two bodies hit that don't have defined materials. 2014-04-10 14:51:20 +01:00
photonstorm
8449f77152 Fixed World.restitution typo.
Updated World to use the new p2 defaultContactMaterial.
2014-04-10 14:41:50 +01:00
photonstorm
8bb22551aa Added jsdocs to Particle and Emitter. Fixed p2 UMD. 2014-04-10 01:48:55 +01:00
photonstorm
8fc2a465cd New Phaser package, small docs updates and preparing P2.World for new bounds code and v0.5.0 migration. 2014-04-08 03:31:13 +01:00
photonstorm
451f68be96 Updated p2 to 6abc900ff9 (which has probably broken stuff, but we'll test it tomorrow). 2014-04-08 03:30:45 +01:00
photonstorm
01eec6cef5 Keyboard.stop nulls the function references after removing the event listeners (thanks @bmceldowney, #691) 2014-04-07 12:29:26 +01:00
photonstorm
439cefd481 ArcadePhysics.Body.hitTest(x, y) will return a boolean based on if the given world coordinate are within the Body or not.
Fixed jsdoc method tags in Body.
2014-04-01 03:54:20 +01:00
photonstorm
9762bff5eb Updated docs to specify callback parameter order (#667) 2014-04-01 00:50:24 +01:00
Georgios Kaleadis
0a456d81c1 remove physics loader flags in p2 world, fix naming in loader 2014-03-31 10:46:17 +03:00
Georgios Kaleadis
d2a348f0bb return the result of body#setCircle 2014-03-28 09:48:23 +02:00
photonstorm
5b73bb21bb Sprite would glitch if it had an ArcadePhysics Body that was re-positioned out of loop.
Sprite would "fly off" if it had an ArcadePhysics Body that was re-positioned during an input handler.
Newly generated docs
2014-03-28 01:42:49 +00:00
Richard Davey
2092a7e360 Merge pull request #653 from bmceldowney/dev
Removing tilemap layer retrieval for object layers in convertCollisionObjects()
2014-03-26 15:48:42 +00:00
Richard Davey
06c953a293 Merge pull request #647 from xtian/grunt-jshint
Run jshint as part of build process and fix jshint errors
2014-03-26 15:46:35 +00:00
Ben McEldowney
2cd538e498 removing erroneous tilemap layer retrieval for object layers in convertCollisionObjects() 2014-03-26 07:48:47 -07:00
photonstorm
fc0e239719 ArcadePhysics.Body preUpdate has been modified to stop Sprites with non-1 scaling from gaining delta and moving off the screen (fix #644).
Lots of ArcadePhysics.World methods have been marked as private where they shouldn't be called directly (separateX, etc)
2014-03-26 10:48:30 +00:00
Christian Wesselhoeft
f409a735f0 Fix jshint issues in src/Phaser.js 2014-03-25 14:56:05 -07:00
Christian Wesselhoeft
1c286c1ae5 Fix jshint issues in src/physics/p2 2014-03-25 14:56:05 -07:00
Christian Wesselhoeft
b375daa3f6 Fix jshint issues in src/physics/ninja 2014-03-25 14:56:05 -07:00
Christian Wesselhoeft
5f267baeb0 Fix jshint issues in src/physics/arcade 2014-03-25 14:56:04 -07:00
Christian Wesselhoeft
61f18b675c Trim trailing whitespace. 2014-03-25 14:56:04 -07:00
photonstorm
26a89f0b84 New build files with tilemap callback fixes in. 2014-03-24 01:39:09 +00:00
Georgios Kaleadis
c2964857a3 multiple circle shapes in a body with position 2014-03-21 20:45:25 +01:00
Richard Davey
51a2002bf8 Merge pull request #622 from georgiee/fix-prismatic-naming
Fixed bug in prismatic joint. Lock flag not inverted, updated naming & description
2014-03-21 14:09:14 +00:00
photonstorm
0fca997d43 P2.Body.loadPolygon no longer modifies the Cache array (fix #613) 2014-03-21 13:46:35 +00:00
Georgios Kaleadis
c686ea0eb5 fixed naming for rotation lock in prismatic joint 2014-03-21 14:13:06 +01:00
Richard Davey
f0034008f5 Merge pull request #614 from georgiee/physics-phaser-exporter
Custom PhysicsEditor export & new p2 polygon parsing
2014-03-21 11:27:13 +00:00
photonstorm
b9fcda73ca ArcadePhysics.World.seperate will now check gravity totals to determine separation order. You can set World.forceX to true to always separate on X first and skip this check. 2014-03-21 11:22:56 +00:00
Georgios Kaleadis
f56f1674f7 pivots were wrong signed, everything was upside down 2014-03-21 09:49:51 +01:00
Georgios Kaleadis
a4982fa6e2 better fixture handling 2014-03-20 19:38:47 +01:00
Georgios Kaleadis
277afa1415 method docs 2014-03-20 15:46:54 +01:00
Georgios Kaleadis
af847de963 reverted p2 body debug 2014-03-20 15:44:41 +01:00
Georgios Kaleadis
45a41af766 exporter update 2014-03-20 15:27:50 +01:00
Georgios Kaleadis
66fa003901 custom export from physics editor 2014-03-20 13:38:25 +01:00
photonstorm
634b1d1093 Emitter.friction property removed and replaced with Emitter.particleDrag, which is now correctly applied.
ArcadePhysics.Body.reset incorrectly set the Body.rotation to Sprite.rotation instead of angle.
Emitter.emitParticle resets the rotation on the particle to zero before emitting it.
Lots of fixes to the TypeScript definitions file (thanks as always to clark-stevenson for his tireless work on these)
Emitters now bring the particle they are about to emit to the top of the Group before doing so. Avoids particles hidden behind others.
ArcadePhysics.Body.setSize corrected to take the parameters as positive, not negative values.
ArcadePhysics.Body now checks the Sprite scale automatically and adjusts the body size accordingly (fix #608)
Emitter.particleClass can now be set to any object that extends Phaser.Sprite, which will be emitted instead of a regular Sprite.
2014-03-20 03:48:54 +00:00
photonstorm
684ee9c064 ArcadePhysics.Body has a deltaMax object, which allows you to cap the delta applied to the position to +- this value.
ArcadePhysics.Body now checks the Sprite scale automatically and adjusts the body size accordingly (fix #608)
2014-03-20 00:20:02 +00:00
Georgios Kaleadis
5b78c5c46e fixed wrong motion state constants in phaser p2 body 2014-03-19 22:56:26 +01:00
photonstorm
164f3cbe83 When creating a Sprite (via Group.create or directly) with exists = false and a P2 body, the body is not added to the world. 2014-03-19 13:09:29 +00:00
photonstorm
0a42ac39b9 ArcadePhysics.World now has a checkCollision object which can be used to toggle collision against the 4 walls of its bounds. 2014-03-19 04:03:21 +00:00
photonstorm
2cc1a45f9a Fixed SpriteBounds camera placement in Debug (again).
Removed un-needed cache vars from ArcadePhysics.World.
Tidied up ArcadePhysics.Body and fixed rotation parameters.
Every single Arcade Physics Example now runs perfectly under this release.
2014-03-19 03:55:44 +00:00
photonstorm
79ffda3f18 ArcadePhysics.separate doesn't pass over to seperateX/Y if overlapOnly is true (fix #604)
ArcadePhysics.collideSpriteVsSprite checks if both objects have bodies before processing.
ArcadePhysics.Body now checks the ArcadePhysics.World bounds, not the game bounds.
ArcadePhysics.Body has reverted to the 1.1.3 method of preUpdate, so you can now position sprites with x/y, drag them, etc, regardless of the Body.moves flag (issue #606)
ArcadePhysics.World now has setBounds and setBoundsToWorld methods, which are called automatically on world resizing.
ArcadePhysics.Body no longer sets the offset to match the anchor.
2014-03-19 02:28:20 +00:00
photonstorm
9490041c79 ArcadePhysics.separate doesn't pass over to seperateX/Y if overlapOnly is true (fix #604)
ArcadePhysics.collideSpriteVsSprite checks if both objects have bodies before processing.
2014-03-19 02:05:29 +00:00
photonstorm
2ecb0c7c76 P2.removeBody will check if the body is part of the world before removing, this avoids a TypeError from the p2 layer. 2014-03-17 22:34:19 +00:00
photonstorm
08aa381238 p2 object re-created on system start. 2014-03-17 21:16:59 +00:00
photonstorm
3ebd0d9303 Updated Device.isConsoleOpen as it no longer works in Chrome. Revised code and documentation accordingly (fix #593)
Revised p2 clear process.
2014-03-17 19:39:56 +00:00
photonstorm
96296c6582 The P2 World wouldn't clear down fully on a State change, now properly clears out contacts, resets the bitmask, etc. 2014-03-17 18:57:46 +00:00
Stefan Holmgren
e3480ffd3c Add destroy methods to Ninja Body, AABB and Circle
The Sprite.destroy() method calls the Body’s destroy() method if a body
exists. If using Ninja physics, destroying a Sprite will not work,
since the destroy method wasn’t implemented in Ninja’s Body.

Also added destroy() methods to Ninja’s AABB and Circle. Tile already
have a destroy() method.
2014-03-16 12:14:46 +01:00
photonstorm
b9ac0d565e Fixed Tile callback check in Arcade Physics (fix #562) 2014-03-16 00:53:50 +00:00
Richard Davey
227810ee01 Merge pull request #571 from dreadhorse/dev
Ninja world collision to check right and bottom bounds
2014-03-16 00:41:51 +00:00
Stefan Holmgren
51102797ed Ninja world collision to check right and bottom bounds
The world collision algorithm need to check the right and bottom of the
bounds in case the bound’s x or y are not equal to 0
2014-03-15 06:19:26 +01:00
Richard Davey
fc5504f8d8 Fixed Sprite.destroy with an arcade body 2014-03-15 01:06:01 +00:00
photonstorm
5e11b1ad87 The Static, Kinematic and Dynamic consts that P2.Body uses were incorrect (fixes #563) 2014-03-14 19:20:35 +00:00
photonstorm
901a7f13d1 Updated docs for 2.0 release and updated README. 2014-03-14 06:36:05 +00:00
photonstorm
44a5741148 Fixed games. Updated Body.moves handling. 2014-03-14 04:49:55 +00:00
photonstorm
0e29bd4300 Tile Collision Callbacks working properly. CSV / Blank map examples added. Multiple tilesets per map working again. That's it folks! 2014-03-14 04:21:56 +00:00
photonstorm
f3ff9c197f Fixed all the tilemap examples. 2014-03-14 03:26:06 +00:00
photonstorm
017a017b96 TilemapLayer.getRayCastTiles will let you get all tiles that hit the given line for further processing.
Fixed Tilemap collision. Added new TILE_BIAS const to aid with fast/small sprites.
2014-03-14 02:33:58 +00:00
photonstorm
a83a76bc5d Line.coordinatesOnLine will return all coordinates on the line using Bresenhams line algorithm. 2014-03-14 00:05:03 +00:00
photonstorm
ec0b22268d Added Body.tilePadding to help with small/fast moving bodies vs. tile collision. 2014-03-13 23:15:32 +00:00
photonstorm
5297497632 Tilemap collision finally getting closer. 2014-03-13 22:49:08 +00:00
photonstorm
e955145707 Added p2 kill and reset test + nearing completion on tilemap collision. 2014-03-13 21:14:18 +00:00
photonstorm
c8e63582a4 Lots of small tweaks to pass jshint. 2014-03-13 16:49:52 +00:00
photonstorm
c2d38fe16b jshint passed all the p2 physics and fixed Debug.spriteBounds. 2014-03-13 16:16:14 +00:00
photonstorm
b666874592 Fixed Body.reset and Tanks game. 2014-03-13 15:57:49 +00:00
photonstorm
dc434dd1ff Render Debug moved into Arcade class. 2014-03-13 15:41:56 +00:00
photonstorm
41bc616a3b preUpdate rotation fix. 2014-03-13 13:29:54 +00:00
photonstorm
181ef7ce53 Added World.frameRate - The frame rate the world will be stepped at. Defaults to 1 / 60, but you can change here. Also see useElapsedTime property.
Added World.useElapsedTime - If true the frameRate value will be ignored and instead p2 will step with the value of Game.Time.physicsElapsed, which is a delta time value. #554
2014-03-13 13:19:02 +00:00
photonstorm
c3f687eda9 Prismatic Constraint done. That's all of them! jshint time. 2014-03-13 13:09:33 +00:00
photonstorm
87684bb15f Revolute Constraint done. 2014-03-13 12:14:14 +00:00
photonstorm
6b55fea953 Distance and Gear constraints done. 2014-03-13 11:13:22 +00:00
photonstorm
ef359e8992 P2 Springs example done and working nicely. 2014-03-13 10:32:34 +00:00
photonstorm
aa6b1821bd Get First Dead example. 2014-03-13 10:14:06 +00:00
photonstorm
8318a58f69 Fixed bug causing Text with empty or no given text to break. Added World.createSpring. 2014-03-13 09:43:00 +00:00
photonstorm
0584d3eadf P2 collision groups and callbacks working as expected, new example done. 2014-03-13 09:14:12 +00:00
photonstorm
94448d2497 P2 postBroadphase example and handler done. Group.enableBodyDebug added. Sprites no longer remove bodies from the world if exists = false, instead they set safeDestroy to true, which removes the body on the next preUpdate, to avoid mid-step destruction issues. 2014-03-13 07:29:23 +00:00
photonstorm
84741f065f New P2 examples. And fixed Camera.atLimit value. 2014-03-12 16:33:53 +00:00
photonstorm
fc788f909c P2 Body Begin and End Contact events done and working nicely. 2014-03-12 15:26:20 +00:00
photonstorm
274fd4a7e9 You can now hitTest against P2 bodies + example created. 2014-03-12 13:26:27 +00:00
photonstorm
abf26df741 New P2 examples and fixed Body debug assignment parameter. 2014-03-12 06:25:29 +00:00
photonstorm
a07cf894a0 Fixed Kenny tiles. Fixed Ninja Circle vs. World bounds. Added Ninja tilemap to Tiles conversion. Created test. 2014-03-12 02:44:34 +00:00
photonstorm
4910f27a88 You can now over-ride the pxm and mpx functions with your own via the physics config object. 2014-03-12 00:12:26 +00:00
photonstorm
cb5a8c7515 Renamed px2p and p2px to: pxm and mpx (px to meters and meters to px). Also removed from Math. 2014-03-12 00:07:27 +00:00
photonstorm
e9ae465272 Sorted out Body gravity settings and updated the example. 2014-03-11 16:26:03 +00:00
photonstorm
58887d9bc6 Moved all of the Tilemap to P2 body methods into P2 itself (makes more sense this way) and tidied them up. 2014-03-11 15:02:59 +00:00
photonstorm
d2d77f37dd Finished Ninja Physics updates. 2014-03-11 14:21:20 +00:00
photonstorm
170776ada1 rnd updated so the array picks use length -1 (fixes #541) 2014-03-11 10:56:54 +00:00
photonstorm
384451bef7 Particles back in and working again. Also updated most of the examples and put Body.gravity back in as well. 2014-03-11 02:49:55 +00:00
photonstorm
f321cab77e The physics configuration object can now be used to start physics systems specifically. 2014-03-11 01:23:41 +00:00
photonstorm
a6467f9b60 Fixed Arcade, Ninja and P2 enable methods. Modified core Physics enable. Added world enable test. 2014-03-11 01:11:08 +00:00
photonstorm
53797171a3 Fixed Group.sort. Added z-depth property to all core game objects. Fixed P2 const overwrite. 2014-03-10 23:01:10 +00:00
photonstorm
b4cb281f1c Renamed Phaser.Physics.P2 const to Phaser.Physics.P2JS to avoid issue #540 2014-03-10 22:15:03 +00:00
photonstorm
13ff8985e1 Merged @georgiee p2 BodyDebug and reformatted for jshint pass. Looks awesome :) #536 2014-03-10 15:25:43 +00:00
Richard Davey
751af10c52 Merge pull request #536 from georgiee/debug-draw-p2
Debug draw p2
2014-03-10 14:50:01 +00:00
photonstorm
1fe331956a Added in p2.total 2014-03-10 14:47:29 +00:00
photonstorm
9f997daa46 Lots of examples fixes and put Group.sort back in. 2014-03-10 14:33:18 +00:00
Georgios Kaleadis
569770ed21 update 2014-03-10 14:28:44 +01:00
Georgios Kaleadis
95e2081f3a more p2 fixes 2014-03-10 13:17:37 +01:00
Georgios Kaleadis
c611d51751 minimal runable new p2 integration 2014-03-10 13:15:05 +01:00
photonstorm
8fff38618d Tidied up the Examples, fixed Arcade Physics Body, added Body enable support to Group and fixed QuadTree. 2014-03-10 03:06:28 +00:00
photonstorm
c4183d200f Changed the define function calls to use named modules, allows pixi, phaser and p2 to reside in 1 file and still be located by requirejs (thanks brejep, #531) 2014-03-10 01:39:36 +00:00
photonstorm
45ab4673cc ScaleManager.fullScreenTarget allows you to change the DOM element that the fullscreen API is called on (feature request #526) 2014-03-10 01:13:01 +00:00
photonstorm
4db1fc0079 Restored Phaser.QuadTree - should get all remaining Arcade Physics examples working again. 2014-03-07 15:14:53 +00:00
photonstorm
480c1819d6 Working through AABB vs. AABB tests. 2014-03-07 05:30:56 +00:00
photonstorm
4cac6408d8 Ninja.AABB updated with all the correct properties, now works fully as with Circle. Created new tests, all Ninja shapes now set Body.touching values correctly. TileSprites work as bodies. Trying out AABB vs. AABB collision now. 2014-03-07 04:43:55 +00:00
photonstorm
6815c5909a New tiles and new map test. 2014-03-06 09:48:42 +00:00
photonstorm
e97a207816 Added in Circle to the Ninja physics system. 2014-03-06 07:18:59 +00:00
photonstorm
3e93f24583 New split physics system is implemented. Still tidying-up, but ArcadePhysics, P2 and Ninja Physics are in and configured. Lots more examples required, and tilemap collision mostly broken in Arcade at the moment. Time to implement in Ninja. 2014-03-06 06:29:19 +00:00
photonstorm
2bab4fd2fb Testing lines. 2014-03-05 04:40:37 +00:00
photonstorm
12a2a2ec16 Testing map collision 2014-03-05 03:18:24 +00:00
photonstorm
22b1ce9b9d Added Phasers new Physics Manager and restored the pre-1.1.4 ArcadePhysics system. The new manager can handle multiple physics systems running in parallel, which could be extremely useful for lots of games. 2014-03-05 02:36:08 +00:00
photonstorm
d8f5832fa2 Completely empty Tilemaps can now be created. This allows for dynamic map generation at runtime.
Loads of updates across most the Tilemap files. Not finished yet, still CSV loading to do and a multi-tileset issue to resolve, but it's a lot more flexible now.
2014-03-03 05:19:46 +00:00
Richard Davey
3794a846d4 Merge pull request #504 from georgiee/fix-single-polygon
Phaser.Physics.Body#loadPolygon
2014-03-02 11:26:31 +00:00
photonstorm
66bdf56349 The physics world is now cleared on state swap (fixes #505) 2014-03-02 11:04:04 +00:00
Georgios Kaleadis
a1bb3ea23b pop first element if there is only one shape 2014-03-01 12:04:30 +01:00
photonstorm
4562939e4e Fixed stupid error in destroy(). 2014-02-28 06:17:18 +00:00
photonstorm
e45a929b00 Body.loadPolygon now parses all shapes that may exist in a JSON data file, and re-creates them all on the Body. Assumes shapes are CCW + Convex (tested working with Lime Exportor). Almost fixes #449 but Body rotation seems to screw orientation of shapes. 2014-02-28 05:46:02 +00:00
photonstorm
a6d77d00a0 World gravity restored. 2014-02-23 11:42:24 +00:00