Commit graph

1139 commits

Author SHA1 Message Date
Ben Richards
fd0dd79417 Prevent objects from sinking into tilemaps at low frame rates.
Because `blocked` would be set by the first collision,
repeated steps would then skip it, and allow gravity or acceleration
to ignore tiles in that direction for those steps.
2019-08-29 10:06:10 +12:00
Richard Davey
b5d9ba3891 Added namespace for TS 2019-08-07 12:47:51 +01:00
Richard Davey
0de2695b07 PhysicsEditorParser has now been exposed under the Phaser.Physics.Matter namespace, so you can call methods on it directly. 2019-07-26 18:15:26 +01:00
Richard Davey
bb29aed88a Matter.Factory.constraint wouldn't allow a zero length constraint to be created due to a falsey check of the length argument. You can now set length to be any value, including zero, or leave it undefined to have it automatically calculated 2019-06-22 11:19:56 +01:00
Richard Davey
6c575ca20e Arcade.Events.WORLD_STEP is a new event you can listen to. It is emitted by the Arcade Physics World every time the world steps once. It is emitted _after_ the bodies and colliders have been updated. Fix #4289 2019-06-19 15:41:45 +01:00
Richard Davey
ef4b3cfe89 Improved update handler to cut down on body iteration and stepping without an update due. Fix #4529 2019-06-19 15:32:17 +01:00
Richard Davey
96298cf920 Added new resetFlags method and willStep and delta arguments to preUpdate. 2019-06-19 15:31:29 +01:00
Richard Davey
b917a0611f ESLint fix 2019-06-19 09:46:38 +01:00
Richard Davey
57fd8c9ce1
Merge pull request #4540 from BdR76/patch-2
drawDebug, display checkCollision sides
2019-06-19 09:28:31 +01:00
Richard Davey
932583402c
Merge pull request #4589 from samme/x/arcade-static-body-setSize
Change arguments to Arcade.StaticBody#setSize
2019-06-19 09:21:00 +01:00
samme
7bba56be16 Change arguments to StaticBody#setSize
`center` replaces `offsetX`, `offsetY`
2019-06-12 10:59:07 -07:00
Richard Davey
9c7b26260e StaticPhysicsGroup can now take a classType property in its Group Config and will use the value of it, rather than override it. If none is provided it'll default to ArcadeSprite. Fix #4401 2019-06-12 12:06:40 +01:00
Richard Davey
77859b1cdf Calling Arcade Physics Body.reset on a Game Object that doesn't have any bounds, like a Container, would throw an error about being unable to access getTopLeft. If this is the case, it will now set the position to the given x/y values 2019-06-11 18:20:56 +01:00
Markus Appel
5ff9b20668
Correct docs of arcade physics body member 2019-06-09 12:22:15 +02:00
samme
6a2c476557 Use defaultStrokeWidth in drawDebug() 2019-06-04 13:27:02 -07:00
Richard Davey
558f6aea55 JSDoc fixes 2019-06-04 16:01:37 +01:00
Richard Davey
17ad54b35b You can pass in a Body for a Matter Game Object to use 2019-06-01 10:53:05 +01:00
Richard Davey
63ead0cbc1 Added Matter.bodies 2019-05-31 19:42:49 +01:00
BdR76
717c89d79b
Changed if-statements to multiple lines
Changed the if-statements to multiple lines as per ESLint config
2019-05-31 13:15:23 +02:00
Richard Davey
897de33a64
Merge pull request #4554 from samme/types/group-classType
Remove GroupClassTypeConstructor type
2019-05-30 22:05:55 +01:00
Richard Davey
09318530a4 Matter.Factory.fromVertices can now take a vertices path string as its vertexSets argument, as well as an array of vertices. 2019-05-29 14:50:57 +01:00
samme
8e717d5588 Remove GroupClassTypeConstructor type 2019-05-23 15:10:40 -07:00
Richard Davey
d7af904bfa Added Matter velocity, angularVelocity and force methods 2019-05-21 14:23:32 +01:00
Richard Davey
478d6989c5 Expose the Matter.Body module 2019-05-20 17:13:05 +01:00
BdR76
f28df06bcf
drawDebug, display checkCollision sides
drawDebug, instead of rectangle only draw the sides where checkCollision is true, similar to debugger in layer
2019-05-19 14:49:15 +02:00
hizzd
4aa3d9f81a
Fixed separateCircle cause the position set NaN. 2019-05-11 20:52:57 +08:00
Richard Davey
c91ed91ce3 License link update 2019-05-10 16:15:04 +01:00
Richard Davey
e8f6bae7cb A Body with damping and drag enabled would fail to move if it went from zero velocity to a new velocity inside an update loop. It will now reset its speed accordingly and retain its new velocity 2019-05-10 12:28:06 +01:00
Richard Davey
a6341a97a8 Fixed Types references 2019-05-09 15:32:53 +01:00
Richard Davey
2008438919 Added new Matter World config def 2019-05-09 15:31:59 +01:00
Richard Davey
6955507ee0 Physics root type 2019-05-09 12:35:01 +01:00
Richard Davey
1531288301 Matter Types 2019-05-09 12:34:27 +01:00
Richard Davey
490dd62f2b Impact Types 2019-05-09 12:34:05 +01:00
Richard Davey
fbe2470f99 Arcade Physics Types 2019-05-09 12:33:37 +01:00
Richard Davey
e916dbe783 Math Types 2019-05-09 12:32:37 +01:00
Richard Davey
8e8b182359 Group Types 2019-05-09 11:56:16 +01:00
Richard Davey
ff9f7cf574 Always world step once 2019-05-08 15:43:01 +01:00
Richard Davey
18a924c39c Passing an _array_ of configuration objects to physics.add.group would ignore them and none of the children would be assigned a physics body. Fix #4511 2019-05-07 16:17:28 +01:00
Richard Davey
63ddc0b07d
Merge pull request #4279 from akuskis/Issue_#4256.Circles_collision
Fix circles collision #4256
2019-05-04 12:44:29 +01:00
Richard Davey
fda7772d3f Fixed jsdocs to flag arguments as optional. Fix #4506 2019-05-03 18:23:39 +01:00
Richard Davey
dcf2d44f4a Removed un-used properties 2019-05-03 17:38:37 +01:00
Richard Davey
bf741e962c Restored Arcade Physics v1 and merged in all the core changes 2019-05-03 17:28:06 +01:00
Richard Davey
11c1b458fa Phaser.Physics.Arcade.Events is now exposed in the namespace, preventing it from erroring if you use them in TypeScript. Fix #4481 2019-04-24 13:44:57 +01:00
Richard Davey
09487bbfc6 Added new resetCollisionIDs method re: #4334 2019-04-08 10:34:52 +01:00
Richard Davey
2ecaad5f03 Fixes use of static keyword. Fix #4458 2019-04-05 18:04:34 +01:00
Richard Davey
3075e088c7 Added directX and directY properties as well as setDirectPosition method. 2019-04-01 23:15:00 +01:00
Richard Davey
64d8f928d0 Fixed sleeping and strengthening direct control movement. 2019-04-01 17:19:38 +01:00
Richard Davey
e7334834ff Abort? Then abort. 2019-04-01 17:19:07 +01:00
Richard Davey
c907432c2b Refactoring to handle checkCollision better 2019-04-01 17:18:58 +01:00
Richard Davey
4ca877b32e Now returns area of intersection in a temp rectangle 2019-04-01 14:58:51 +01:00
Richard Davey
3e5358dded Dump CI to window for testing 2019-03-31 23:16:27 +01:00
Richard Davey
0f4e9f289d Fixed issue with delta = 1 2019-03-31 23:16:13 +01:00
Richard Davey
4d660f2f51 Minimum displacement linear equation solver finally working properly, yay! 2019-03-29 17:07:48 +00:00
Richard Davey
c636c58ff8 Working out incorrect face at high speeds 2019-03-29 00:10:58 +00:00
Richard Davey
b97bf51329 Removed positionIterations 2019-03-28 23:35:09 +00:00
Richard Davey
b99e680f6b Fixed swizzle and embedded abort 2019-03-28 23:33:00 +00:00
Richard Davey
535388b828 Added Distance Threshold and seeking 2019-03-28 23:32:46 +00:00
Richard Davey
5589374e71 Removed debugging 2019-03-28 23:32:24 +00:00
Richard Davey
14781003b3 Temp logs on 2019-03-28 14:58:57 +00:00
Richard Davey
cb77405031 Better seek handling 2019-03-28 14:58:51 +00:00
Richard Davey
bb058dc7ba Moved OverlapRect to a component and added option to scan both dynamic and static bodies 2019-03-28 14:10:03 +00:00
Richard Davey
9577f3e612 Added condition to resolve fast moving body penetration hitting the wrong face 2019-03-28 14:09:45 +00:00
Richard Davey
2317cb216e Emits new TOUCH event 2019-03-27 15:53:19 +00:00
Richard Davey
5eebdff3ca Now properly handles body face blocking 2019-03-27 15:53:01 +00:00
Richard Davey
13181e2238 Embedded? Don't block then. 2019-03-27 15:52:45 +00:00
Richard Davey
07149fd737 New TOUCH event 2019-03-27 15:52:31 +00:00
Richard Davey
7dbda9fe62 Added new arguments to method 2019-03-27 15:52:18 +00:00
Richard Davey
28b41254ba Removed unused code 2019-03-27 15:52:04 +00:00
Richard Davey
7a05c205b1 Docs fix 2019-03-27 15:51:55 +00:00
Richard Davey
7ae4a441e1 Added onTouch event flag and setCheckCollision methods 2019-03-27 15:51:43 +00:00
Richard Davey
e5f03f02db Added isBody boolean. 2019-03-27 11:54:08 +00:00
Richard Davey
a67792ada6 Handle non-Game Object Body collision 2019-03-27 11:53:56 +00:00
Richard Davey
cc1b96a309 The Body.setCollideWorldBounds method has two new optional arguments bounceX and bounceY which, if given, will set the World Bounce values for the body. 2019-03-27 11:53:34 +00:00
Richard Davey
2b4568cf05 Body no longer sleeps if rotating and fixed moving a rebounding object 2019-03-27 10:46:42 +00:00
Richard Davey
7dbb502616 Fixed jsdocs references 2019-03-27 09:50:58 +00:00
Richard Davey
596803a434 Exposed the overlap functions 2019-03-27 09:50:48 +00:00
Richard Davey
168e184d04 You can now create a Body or StaticBody directly 2019-03-27 09:50:36 +00:00
Richard Davey
6e3d4bac6d Removed un-needed files 2019-03-27 09:50:20 +00:00
Richard Davey
adb28d2f6e Added new Rectangle Arcade Physics Body type 2019-03-27 00:21:03 +00:00
Richard Davey
c819599304 Use of a Game Object bound to a body is now optional 2019-03-27 00:20:49 +00:00
Richard Davey
811ed0e340 Dynamic and Static both now extend the Base Body. 2019-03-26 16:51:15 +00:00
Richard Davey
2e5e438ec4 Added a new Base Body class to extend from. Saves a lot of duplication. 2019-03-26 16:51:01 +00:00
Richard Davey
5bb2161d49 Fixed issue with non zero origins 2019-03-26 15:29:58 +00:00
Richard Davey
ab2f489c5a Renamed ambiguous movingX/Y, also broke out moveX to checkX and tidied up more 2019-03-26 13:07:57 +00:00
Richard Davey
0b8fb1a21e Much better hard blocking flag sets 2019-03-26 13:07:25 +00:00
Richard Davey
d942d28a81 Swap to use canMove and also new moveX/Y methods 2019-03-26 13:07:04 +00:00
Richard Davey
5242a62221 Comment out logs 2019-03-26 13:06:45 +00:00
Richard Davey
469b74b489 Handle single face intersects 2019-03-26 13:06:26 +00:00
Richard Davey
b7f1888549 Work out the dominant face even if not intersecting, or if perfectly aligned 2019-03-26 00:05:26 +00:00
Richard Davey
9b65f1bcc6 Moved sleep checks around 2019-03-26 00:05:09 +00:00
Richard Davey
108e2e5d7f Added GravityX and reduced iterations to 1 for testing 2019-03-26 00:04:55 +00:00
Richard Davey
c58526fc74 Tidying up and resolving fractional comparisons 2019-03-25 17:25:39 +00:00
Richard Davey
7171d95578 Log out some test data 2019-03-25 17:25:25 +00:00
Richard Davey
c8ec524068 Debug tests 2019-03-25 17:25:17 +00:00
Richard Davey
74be0955ca Lots of small tweaks 2019-03-25 17:25:11 +00:00
Richard Davey
e83db95f77 Use ColInfo 2019-03-25 17:25:03 +00:00
Richard Davey
075e030fb1 Zero out fractional intersections 2019-03-25 17:24:48 +00:00
Richard Davey
17d4600f2f Updating separate method 2019-03-25 12:56:01 +00:00
Richard Davey
21df050e88 Works using ColInfo object now 2019-03-25 12:55:52 +00:00
Richard Davey
df55ffd32a Lots of little fixes 2019-03-25 12:55:41 +00:00