Commit graph

791 commits

Author SHA1 Message Date
samme
7d5673a0c7 Fix wrong body dimensions from a scaled game object 2020-02-01 17:25:15 -08:00
samme
a312d03843 Docs for Phaser.Physics.Arcade.StaticBody
`offset` is read only
2020-02-01 16:30:25 -08:00
samme
c07c57f9f8 Correct center 2020-02-01 16:27:02 -08:00
samme
a13d623743 Correct dimensions from game object 2020-02-01 16:20:46 -08:00
samme
37c64dc0a9 Correct center in constructor 2020-02-01 16:19:10 -08:00
samme
34176becb5 Correct position in constructor 2020-02-01 16:18:52 -08:00
samme
bc39e70412 Fix centering Body in setSize() 2020-01-27 11:15:06 -08:00
Richard Davey
4a6b2087f7 Fixed internal callback handlers 2020-01-15 12:45:59 +00:00
Richard Davey
ff65e69cd1 Changed copyright date to 2020 2020-01-15 12:07:09 +00:00
Richard Davey
c3940e15c6 PhysicsGroup now uses the new internalCreateCallback and internalRemoveCallback to handle its body creation and destruction, allowing you to use your own createCallback and removeCallback as defined in the Group config. Fix #4420 #4657 #4822 2020-01-14 23:57:48 +00:00
Richard Davey
fb7f66838a Marked width/height as readonly and added docs. Fix #4806 2020-01-14 22:45:55 +00:00
Richard Davey
8b9819b8f7
Merge pull request #4949 from samme/fix/collideSpriteVsSprite
Check for disabled body in collideSpriteVsGroup()
2020-01-13 11:34:36 +00:00
Andrew Brampton
e42f227ec2
Update documentation and one import, to use the consistent name of Vector2.
There were examples that used Vec2, which wouldn't work. For example `An array of Point or Vector2 objects: [new Phaser.Math.Vec2(x1, y1), ...]` was not copy and pastable.
2020-01-11 06:46:25 -08:00
samme
eacb61e109 Check for disabled body in collideSpriteVsGroup() 2020-01-09 19:45:11 -08:00
samme
fa57f74b8f Docs for Arcade Physics 2019-12-12 08:14:53 -08:00
Richard Davey
7ae124ff6e Docs fix. 2019-12-09 08:57:24 +00:00
Richard Davey
44ff20d07e Added deltaXFinal and deltaYFinal methods. 2019-12-09 08:55:37 +00:00
Richard Davey
dc6b080091
Merge pull request #4874 from samme/feature/overlapCirc
Add ArcadePhysics#overlapCirc()
2019-11-20 22:02:15 +00:00
Richard Davey
e5421c4ebf Fixed namespace #4873 2019-11-20 22:00:17 +00:00
Richard Davey
ce2dbb7095
Merge pull request #4873 from samme/feature/group-type
Add `type` for Group, Arcade.Group, Arcade.StaticGroup
2019-11-20 21:54:10 +00:00
samme
b0f99db47d Add ArcadePhysics#overlapCirc() 2019-11-20 12:21:53 -08:00
samme
8585541e15 Add type for Group, PhysicsGroup, StaticPhysicsGroup 2019-11-20 11:53:38 -08:00
samme
e572921f38 Add targets argument to closest(), furthest()
And exclude `source` from targets
2019-11-13 09:56:37 -08:00
samme
c46ab84fd9 Use body center in closest, furthest 2019-11-04 16:11:38 -08:00
Richard Davey
3a8a1f7b05 Added the new customBoundsRectangle config properties 2019-10-02 16:03:52 +01:00
Richard Davey
f0ed52c033 Tidy-up the customBoundsRectangle changes 2019-10-02 16:03:36 +01:00
Richard Davey
4f4b69123e
Merge branch 'master' into arcade_body_custom_bounds 2019-10-02 15:41:49 +01:00
Richard Davey
2c5b552bd5 Formatting tweak 2019-10-01 13:29:05 +01:00
Richard Davey
b78dbd81ac Moved author block and fixed Body reset issue 2019-10-01 13:28:59 +01:00
Richard Davey
f16a16ba7d
Merge pull request #4729 from Gamefroot/arcade-physics-fps-fixes
Arcade physics fps fixes
2019-10-01 13:17:41 +01:00
Richard Davey
7584b9b17f
Merge pull request #4752 from funnisimo/separateCircle
FIX #4751 - Physics.Arcade.World.separateCircle - weird effects when …
2019-09-26 12:30:18 +01:00
Funnisimo
4455237967 need to do velocity based separation too 2019-09-19 14:13:07 -05:00
Funnisimo
b7ff2c02ae FIX #4751 - Physics.Arcade.World.separateCircle - weird effects when bounce=0 2019-09-13 11:34:11 -05:00
Funnisimo
4bffc5a341 updated for lint 2019-09-12 10:09:47 -05:00
Funnisimo
bfcfde52f9 FIX: #4748 Physics.Arcade.Body.hitTest - bug with circles 2019-09-12 10:02:01 -05:00
Richard Davey
5b10c07d2e ArcadePhysics.Body.checkWorldBounds would incorrectly report as being on the World bounds if the blocked.none flag had been toggled elsewhere in the Body. It now only sets if it toggles a new internal flag 2019-09-05 16:06:08 +01:00
Ben Richards
95d413dc3f Fix friction issues at low frame rates or repeated physics steps.
- Add `prevFrame` to hold previous frame positions (`prev` now holds
  previous step positions explicitly).
- Reset `prev` per step, fixing physics that relies on it.
- Remove `_reset` in favour of `moves`, which was all it ever checked.
  Ironically, `_reset` never reset itself.
- Remove some `postUpdate` property setting which is now unnecessary.
  The `prev` values now update just before they're used, so if you check
  them outside the physics step, they reflect the previous step.
- Reset `World#stepsLastFrame` per frame, so it won't get stuck on.
2019-08-29 10:06:10 +12:00
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
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
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
samme
8e717d5588 Remove GroupClassTypeConstructor type 2019-05-23 15:10:40 -07: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
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
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
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