Commit graph

562 commits

Author SHA1 Message Date
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
818a28073f Added jsdocs 2018-09-28 11:04:19 +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
samme
6a8e5d2082 Correct descriptions for customSeparateX, customSeparateY 2018-09-25 13:25:47 -07: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
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
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
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
samme
b3ac91df5a Fix blocked.none after separation 2018-06-19 14:48:07 -07:00
Richard Davey
1777c47a23 Added missing check 2018-06-08 00:22:58 +01: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
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
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
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
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
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
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
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
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
orblazer
f42f1bf132 Change structs for generic types 2018-03-23 16:54:12 +01:00
orblazer
ed1f2a7011 Fix wrong types 2018-03-22 13:51:30 +01:00
orblazer
11845f9d6d Fix "object" types on Physics and Math 2018-03-21 14:15:25 +01: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
f30218d3d3 Add callbacks on Physics 2018-03-19 21:42:07 +01:00
Richard Davey
620bcc6ae5 jsdoc fixes and additions 2018-03-19 13:45:00 +00:00
orblazer
af3c03a3cb Update JSDoc on "Arcade" physics 2018-03-19 00:29:46 +01: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
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
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
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
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
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
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
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
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
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