Richard Davey
1a493caa4b
Merge pull request #4970 from samme/fix/arcade-body-setSize-center
...
Fix centering in Body#setSize()
2020-02-04 11:26:17 +00:00
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
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
Richard Davey
3e499831cc
Added functions for left / right checks
2019-03-25 12:55:31 +00:00
Richard Davey
8c825692af
Added most interesting face result
2019-03-25 12:55:18 +00:00
Richard Davey
eec2f4cac1
Single functions to handle the data
2019-03-25 12:55:08 +00:00
Richard Davey
e976721321
Start of the update to make it work across both axis
2019-03-24 23:31:31 +00:00
Richard Davey
d3460ba20f
Only needs CollisionInfo
2019-03-24 23:31:20 +00:00
Richard Davey
94bebab24d
Silence logs for now
2019-03-24 23:31:11 +00:00
Richard Davey
9dcd3569b4
Added new X axis functions
2019-03-24 23:30:57 +00:00
Richard Davey
1f07eaa79f
Testing rideable bodies
2019-03-24 23:30:38 +00:00
Richard Davey
e017691c68
The ScaleMode
Component has been removed from every Game Object, and along with it the scaleMode
property and setScaleMode
method. These did nothing anyway as they were not hooked to the render pipeline and scale mode should be set on the texture, not the Game Object. Fix #4413
2019-03-24 23:07:27 +00:00
Richard Davey
a85e6283ec
All of the Arcade Physics Components are now available directly under the Phaser.Physics.Arcade.Components
namespace. Fix #4440
2019-03-24 22:51:34 +00:00
Richard Davey
427019ab53
Tidied it all up. Refactored down into smaller function.
2019-03-22 19:08:08 +00:00
Richard Davey
3cba010a28
Removed un-used properties
2019-03-22 19:07:52 +00:00
Richard Davey
c86ff4c7c7
Silence logs
2019-03-22 19:07:41 +00:00
Richard Davey
766e0eb210
Don't need these properties any more
2019-03-22 19:07:30 +00:00
Richard Davey
4f0a9ba01d
Better immovable handling
2019-03-22 19:07:19 +00:00
Richard Davey
de08c9b0db
Removed lots of un-used vars and added 'rideable' support
2019-03-22 19:07:06 +00:00
Richard Davey
b48247dada
Body now wakes from direct velocity property modification
2019-03-22 15:01:47 +00:00
Richard Davey
ad9a0fad00
Fixed body waking situations
2019-03-22 14:48:00 +00:00
Richard Davey
cf504ac9c2
Body.setVelocity
was cause the speed
property to be set to NaN
if you didn't provide a y
argument.
2019-03-22 13:16:37 +00:00
Richard Davey
bef0b163a2
Clear snapTo
2019-03-22 12:50:28 +00:00
Richard Davey
34ed8f0b5a
Remove log
2019-03-22 12:50:21 +00:00
Richard Davey
4d4c5353ec
Added World positionIterations property to help settle busy scenes
2019-03-22 12:18:34 +00:00
Richard Davey
7c5f6adfe8
Don't apply the force until postUpdate - resolves all issues with body spacing :)
2019-03-22 11:34:23 +00:00
Richard Davey
963ed11cb4
Fixed getMove flow
2019-03-22 02:39:10 +00:00
Richard Davey
06acf492bc
Refactored getMoveY
2019-03-22 02:29:48 +00:00
Richard Davey
026c2049c0
Commented out a few logs
2019-03-22 02:29:34 +00:00
Richard Davey
813e135f72
Pass on the hardblock state
2019-03-22 01:58:36 +00:00
Richard Davey
ec67d02b21
Blockers is now a face array and added hardBlocked support
2019-03-22 01:17:32 +00:00
Richard Davey
18333f9ec7
Set hard blocking
2019-03-22 01:17:14 +00:00