Richard Davey
2ac0562fb6
Updated JSDocs
2020-01-08 11:14:40 +00:00
Richard Davey
6a8bce9250
Added essential new type defs
2020-01-08 11:14:26 +00:00
Richard Davey
b908ebdda2
Added fromSVG method
2020-01-08 01:50:51 +00:00
Richard Davey
279829b414
Added JSDocs
2020-01-07 17:54:47 +00:00
Richard Davey
868d599832
Added JSDocs
2020-01-07 17:31:41 +00:00
Richard Davey
99df00244b
Reduced default anchor size
2020-01-07 17:31:29 +00:00
Richard Davey
2b1ce933af
The internal Matter Composite.setModified
function will now emit a compositeModified
event, which the Matter World listens for, if debug draw is enabled, so it can update the composite children render styles.
2020-01-07 17:20:31 +00:00
Richard Davey
a2c1377131
You can now set gravity: false
in your Matter Config and it will reset gravity from the defaults to zero.
2020-01-07 16:38:13 +00:00
Richard Davey
105fb64b4f
Removed spaces
2020-01-07 14:39:22 +00:00
Richard Davey
2b66f81d28
Final config structure and values
2020-01-07 14:02:38 +00:00
Richard Davey
8527e10d64
Added renderCollisions and renderSeparations
2020-01-07 14:02:28 +00:00
Richard Davey
c0e61cf2be
Added renderBodyVelocity
2020-01-07 12:56:30 +00:00
Richard Davey
334f17439e
Update MatterDebugConfig.js
2020-01-07 12:39:31 +00:00
Richard Davey
ad1891cd8d
Added renderBodyBounds and renderBodyAxes methods
2020-01-07 12:39:27 +00:00
Richard Davey
0a801cbac4
Added World.renderGrid method.
...
Renamed showBodyPosition to showPositions
2020-01-07 11:56:39 +00:00
Richard Davey
76d2c971f7
Added showSensor debug option
2020-01-07 00:28:37 +00:00
Richard Davey
64c12a9c60
Added showBodyPosition config option
2020-01-06 22:30:38 +00:00
Richard Davey
aa32235f5a
Added applyForceFromPosition
2020-01-06 17:56:20 +00:00
Richard Davey
5b17e0e61e
Added jsdocs
2020-01-05 23:55:45 +00:00
Richard Davey
beefcf09b6
Added jsdocs
2020-01-05 23:54:08 +00:00
Richard Davey
25339383f1
Added jsdocs
2020-01-05 23:48:49 +00:00
Richard Davey
c5675ae171
Added jsdocs
2020-01-05 23:47:25 +00:00
Richard Davey
ffb604c502
Added new setVelocity, setVelocityX, setVelocityY, setAngularVelocity, applyForce and applyForceFromAngle methods.
2020-01-04 12:31:27 +00:00
Richard Davey
ba4c82e140
Added jsdocs
2020-01-04 12:27:04 +00:00
Richard Davey
5e027f7031
Added JSDocs
2020-01-02 16:45:28 +00:00
Richard Davey
1e6e350f7f
Typo fix
2020-01-02 01:57:26 +00:00
Richard Davey
7fdcfd540c
Remove render.opacity as it's not valid for constraints
2020-01-01 20:02:15 +00:00
Richard Davey
58c8efc2e5
Added jsdocs
2020-01-01 17:33:45 +00:00
Richard Davey
64690cf987
Body.gravityScale
is a new vector property that allows you to scale the effect of world gravity on a specific Body.
2019-12-21 08:29:57 +00:00
Richard Davey
29b0e96407
Merge pull request #4909 from samme/docs/arcade-physics-3
...
Docs for Arcade Physics
2019-12-18 14:29:51 +00:00
Richard Davey
5cb7d8484f
Added Game Object level collision events
2019-12-18 02:22:37 +00:00
Richard Davey
a7c644454f
Update PhysicsEditorParser.js
2019-12-17 18:04:10 +00:00
Richard Davey
e6b43a2f48
Improves jsdocs
2019-12-17 18:03:23 +00:00
Richard Davey
efcbd1e4e5
Added helper methods for setting body collision callbacks
2019-12-17 16:42:46 +00:00
Richard Davey
f64d3e59d0
Per-body collision callbacks
2019-12-17 16:42:30 +00:00
Richard Davey
0d62f60f60
Removed un-used properties, functions and docs
2019-12-17 16:42:16 +00:00
Richard Davey
21a6458608
Added new collision pair type defs
2019-12-17 16:41:58 +00:00
Richard Davey
ac124b8e20
Better handling of the runner config
2019-12-17 13:52:57 +00:00
Richard Davey
1412e1f4f9
Added typedef for Matter Runner config
2019-12-17 13:52:46 +00:00
Richard Davey
a158b14228
Matter.World.has
is a new method that will take a Matter Body, or Game Object, and search the world for it. If found, it will return true
.
2019-12-17 13:15:15 +00:00
Richard Davey
67a6fa81f9
Added jsdocs and property
2019-12-17 13:08:32 +00:00
Richard Davey
d260643c61
Stricter checks against body removal and addition
2019-12-17 13:07:16 +00:00
Richard Davey
29525868ff
Added jsdocs
2019-12-17 13:06:11 +00:00
Richard Davey
43b111dc3e
Removed unused code and tidied up the Phaser specific additions
2019-12-17 13:06:01 +00:00
Richard Davey
9c43681b79
Added jsdocs and off handler
2019-12-17 13:05:37 +00:00
Richard Davey
37b2fbd044
Removed calcOffset
2019-12-17 13:05:16 +00:00
Richard Davey
1a50665ce1
Function not triggering properly. Adding to Body directly.
2019-12-17 02:14:54 +00:00
Richard Davey
819a6b20ae
Walking through Matter compare merge
2019-12-16 17:12:12 +00:00
Richard Davey
f9e5246af0
Refactored so ops are done when the engine udates, not when the dom updates
2019-12-13 19:41:47 +00:00
Richard Davey
87a8af35c5
Added in Matter Runner
2019-12-13 19:41:27 +00:00
Richard Davey
604531d70a
Disable sync verts for now
2019-12-13 19:41:18 +00:00
Richard Davey
e117a679d2
Still fix sleeping
2019-12-13 01:16:54 +00:00
Richard Davey
63083882d3
MatterGameObject
has a new optional boolean parameter addToWorld
which lets you control if the Body should be added to the world or not. Useful for toggling off should you be merging pre-existing bodies with Game Objects.
2019-12-12 17:15:00 +00:00
samme
fa57f74b8f
Docs for Arcade Physics
2019-12-12 08:14:53 -08:00
Richard Davey
7ba6e9fe6b
Added setCompositeRenderStyle method
2019-12-12 13:31:47 +00:00
Richard Davey
093557a6ea
Removed worldConstraint changes
2019-12-12 13:31:36 +00:00
Richard Davey
03e67e2c50
Added docs and Body level syncVerts property
2019-12-12 12:41:11 +00:00
Richard Davey
01fa4d2c54
Fix handling of centerOfMass
2019-12-11 16:06:15 +00:00
Richard Davey
7a2c434ffc
Remove deprecated code
2019-12-11 16:06:01 +00:00
Richard Davey
4032f87368
Fixed handling deeply nested bodies
2019-12-11 16:05:52 +00:00
Richard Davey
4b14e489af
Added start of fromJSON
2019-12-11 15:01:05 +00:00
Richard Davey
69eec0add9
Fixed overlap method
2019-12-11 15:00:51 +00:00
Richard Davey
c267662259
Update World.js
2019-12-11 15:00:41 +00:00
Richard Davey
30750d1208
Update PhysicsEditorParser.js
2019-12-11 13:07:04 +00:00
Richard Davey
826431c7fa
Tidying up
2019-12-11 13:06:07 +00:00
Richard Davey
19fc914a5b
PhysicsEditorParser.parseVertices
now uses Bodies.flagCoincidentParts
to avoid duplicating code.
2019-12-11 13:05:58 +00:00
Richard Davey
f5908fee8f
Matter.Bodies.flagCoincidentParts
is a new function that will flags all internal edges (coincident parts) on an array of body parts. This was previously part of the fromVertices
function, but has been made external for outside use.
2019-12-11 13:05:49 +00:00
Richard Davey
bf00d63cc6
Body.syncVerts
is a new function that will re-sync the vert positions with the body position. Called if Engine.syncVerts
is set (which is now the default)
2019-12-10 17:53:44 +00:00
Richard Davey
a910a27349
Engine.syncVerts
is a new Engine config property that allows you to run a vert re-sync at the end of the Engine step. This can help massively if you find you've got verts drifting out of alignment with the body position when using pointer contraints, or high velocity environments. Uses the new Engine._bodiesSync
function.
2019-12-10 17:52:37 +00:00
Richard Davey
444bdf116f
Debug tweaks
2019-12-10 17:50:04 +00:00
Richard Davey
c6bfaa8e4a
Vertices.calcOffset
is a new function that calculates the vert body position offset, used for keeping data in sync.
2019-12-10 17:49:41 +00:00
Richard Davey
4f3a524114
Update World.js
2019-12-10 14:02:50 +00:00
Richard Davey
b7343f3424
Bumped Matter Plugin versions to avoid console logs from Common.info and Common.warn.
2019-12-10 14:02:10 +00:00
Richard Davey
56929fb8c6
Removed use of Common.indexOf (no need for it)
2019-12-10 12:07:03 +00:00
Richard Davey
118aa3a941
Format fix
2019-12-10 12:05:12 +00:00
Richard Davey
0e95c1ad19
Merged Body.setCentre
2019-12-10 12:03:27 +00:00
Richard Davey
dc127081eb
Merged new pointAWorld and pointBWorld functions
2019-12-10 12:01:58 +00:00
Richard Davey
257c00228b
Removed un-used _requireGlobal function
2019-12-10 12:01:42 +00:00
Richard Davey
f22c3ad17d
New fromPath reg exp
2019-12-10 12:01:24 +00:00
Richard Davey
5b17e35a87
Format tidy-up
2019-12-10 12:01:14 +00:00
Richard Davey
7bdcb5a892
Temp bounds debug
2019-12-10 02:42:16 +00:00
Richard Davey
b92e8e9a60
Moved position update to earlier (was too soon)
2019-12-09 17:13:10 +00:00
Richard Davey
eb254f0c5c
If the Matter.Body
config doesn't contain a position
property, it will now default to using Vertices.centre(body.vertices)
as the position. In most cases, this is what you need, so it saves having to pass it in the config object.
2019-12-09 13:22:55 +00:00
Richard Davey
c9adc01111
The Matter.PhysicsEditorParser
has been updated so it no longer needs to set the render offsets, and instead uses the center of mass values.
2019-12-09 12:52:05 +00:00
Richard Davey
8f67dad4a5
Matter.setExistingBody
, which is called interally whenever a Body is set on a Game Object, now uses the new centerOffset
values to ensure that the texture frame is correctly centered based on the center of mass, not the Body bounds, allowing for much more accurate body to texture mapping with complex multi-part compound bodies.
2019-12-09 12:51:26 +00:00
Richard Davey
53314ca435
The Matter.Mass.centerOfMass
component property now returns the pre-calculated Body centerOfMass
property, which is much more accurate than the previous bounds offset value.
2019-12-09 12:49:55 +00:00
Richard Davey
9f012ebf86
Matter.Transform.centerOffsetX
is a new read-only property available on all Matter Game Objects that returns the horizontal offset between the center of the frame and the center of mass. This can be used to allow for accurately mapping texture centers to the body center.
2019-12-09 12:48:51 +00:00
Richard Davey
50b511e872
Matter.Body.centerOfMass
is a new property added to the Matter Body object that retains the center of mass coordinates when the Body is first created.
2019-12-09 12:45:44 +00: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
a123faafdc
Added new intersects, overlap and collision filter methods.
2019-12-04 03:52:00 +00:00
Richard Davey
e7cac4ebe9
Removed old config values and now handles opacity properly
2019-12-04 03:14:06 +00:00
Richard Davey
aeb3d5af06
Removed old properties and added new ones
2019-12-04 03:13:44 +00:00
Richard Davey
22baba0749
Updated custom render properties
2019-12-04 03:13:02 +00:00
Richard Davey
59749ab519
Skip matching a body against itself
2019-12-04 03:12:46 +00:00
Richard Davey
9b8ce1b8e3
Adjust Resolver properties from matter config
2019-12-03 16:56:29 +00:00
Richard Davey
75e2f76f8f
Update Collision.js
2019-12-03 16:56:16 +00:00
Richard Davey
76c81e19c3
Moved the render style methods to World and use them as part of the event proxy
2019-12-03 14:48:04 +00:00
Richard Davey
7d2f3b33b5
Added setBodyRenderStyle and setConstraintRenderStyle methods.
2019-12-03 14:06:32 +00:00
Richard Davey
c299b02542
Update MatterCollisionEvents.js
2019-12-03 14:06:15 +00:00
Richard Davey
9a0218b3da
Fixed line style and updated parameter names.
2019-12-03 14:06:10 +00:00
Richard Davey
f050b148ec
Rewrote plugin to tidy it up.
2019-12-03 10:43:35 +00:00
Richard Davey
e0ae756f0d
Add the new collision events plugin.
2019-12-02 19:21:04 +00:00
Richard Davey
ca293d710f
Proxy the add and remove events and better handle debug draw injection.
2019-12-02 19:20:54 +00:00
Richard Davey
bdbd74917a
Added missing plugin configs.
2019-12-02 19:20:24 +00:00
Richard Davey
b38668eb5f
Finished all the JSDocs, exposed all Matter modules and added the new point checking methods.
2019-12-02 19:20:13 +00:00
Richard Davey
d75fb5b918
Removed un-used render properties and added new ones
2019-12-02 19:19:42 +00:00
Richard Davey
c32368e03e
Added the new ADD and REMOVE Matter World events
2019-12-02 19:19:21 +00:00
Richard Davey
b71d4059a7
100% JSDoc'd!
2019-12-02 15:07:44 +00:00
Richard Davey
4f8dd24df2
Handle legacy configs for now.
2019-11-28 16:19:03 +00:00
Richard Davey
2a4dadf3a7
Update MatterWorldConfig.js
2019-11-28 16:18:53 +00:00
Richard Davey
8a844fc4d3
Create MatterDebugConfig.js
2019-11-28 16:18:49 +00:00
Richard Davey
f126f28121
Split out the debug rendering process into single methods, so they can be called externally if required
2019-11-28 10:43:26 +00:00
Richard Davey
65008266d6
Fixed worldConstraint
2019-11-27 17:49:38 +00:00
Richard Davey
4a1b9691c8
Custom render values set?
2019-11-27 17:49:30 +00:00
Richard Davey
3d46304b6a
Final new debug config added
2019-11-27 17:49:21 +00:00
Richard Davey
7b280e4fb2
Redoing debug config
2019-11-26 16:39:34 +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
Anatoly Rybalchenko
03810ecccf
Set 'part.angle' in 'Body.update' into matter-js
2019-10-05 02:02:30 +03: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
Richard Davey
800aac5820
Merge pull request #4749 from funnisimo/hitTest
...
Fix for Issue #4748 - Physics.Arcade.Body.hitTest - bug with circles
2019-09-26 12:27:14 +01:00
Richard Davey
ddc1a136ce
MatterPhysics.shutdown
could try to access properties that may have been previously removed during the Game.destroy process, causing a console error. It now checks properties before removing events from them
2019-09-26 12:17:16 +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
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
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
Richard Davey
ae89e44364
New debug colors
2019-03-22 01:16:54 +00:00
Richard Davey
19bfe38d04
Resolved issue with bounds penetration (finally)
2019-03-21 23:21:02 +00:00
Richard Davey
9ac70e32b0
Now using CollisionInfo (and more debugging)
2019-03-21 17:25:01 +00:00
Richard Davey
21ca1abe00
Gravity application test
2019-03-21 17:24:47 +00:00
Richard Davey
9cabcd5d73
Tidying up
2019-03-21 17:24:34 +00:00
Richard Davey
212e8caba2
Now using CollisionInfo
2019-03-21 17:24:26 +00:00
Richard Davey
977e3b0ac3
Exposed IntersectsRects
2019-03-21 17:24:14 +00:00
Richard Davey
eae681bda2
Added new CollisionInfo handler
2019-03-21 17:24:03 +00:00
Richard Davey
0005cf590e
Resolved bounds sleep issue
...
Now to create collision info objects for sleep settling.
2019-03-21 11:31:05 +00:00
Richard Davey
6a145049b1
Testing issue with sticky bodies
2019-03-21 01:02:38 +00:00
Richard Davey
1518f49c23
Finally traced down the culprit. Now to resolve.
2019-03-20 17:14:44 +00:00
Richard Davey
1383aba08e
Hide some logs
2019-03-20 17:14:31 +00:00
Richard Davey
a0fc1ca3cc
Tidying up
2019-03-20 17:14:21 +00:00
Richard Davey
792f458e32
Better "is moving" handling
2019-03-20 15:00:17 +00:00
Richard Davey
93f012d3e3
Frame counter. Handy for debuggin.
2019-03-20 15:00:05 +00:00
Richard Davey
0f59b326f6
Sleeping can now force a position
2019-03-20 14:59:53 +00:00
Richard Davey
ec1b765833
Logging to figure out sleeping in the air
2019-03-20 10:41:06 +00:00
Richard Davey
1c81425771
Add forceY arguments
2019-03-20 10:40:32 +00:00
Richard Davey
bfdd039bf4
Don't force body position at this point
2019-03-20 10:40:19 +00:00
Richard Davey
290ef210f4
Doh, sqrt returns positive. Math.abs our velocities
2019-03-20 10:20:02 +00:00
Richard Davey
022ce80333
Fixed 'moves' assignment and added min velocity support
2019-03-20 04:07:58 +00:00
Richard Davey
bf25e424f0
Added support for minVelocity and fixed zero gravity rebound issue
2019-03-20 04:06:53 +00:00
Richard Davey
81e2851b37
Moved sleeping to new function and made stronger
2019-03-20 01:28:00 +00:00
Richard Davey
5dcd844701
Added world blocked debug color
2019-03-20 00:08:23 +00:00
Richard Davey
87e9f8e62d
Don't reforce a forced position
2019-03-20 00:02:16 +00:00
Richard Davey
1e5c2ea0fc
Reworked blocker handling
2019-03-20 00:02:04 +00:00
Richard Davey
fcd7f25091
Preparing to swap for isBlocked checks
2019-03-19 23:21:59 +00:00
Richard Davey
68c8bd3af2
Removed logs array and tidying up the flow
2019-03-19 23:21:48 +00:00
Richard Davey
7a602ab105
Removed logs and added blockers
2019-03-19 23:21:35 +00:00
Richard Davey
0cef93134f
Set blocker, not world blocker
2019-03-19 23:21:23 +00:00
Richard Davey
6462e18527
Gravity vars
2019-03-19 23:21:06 +00:00
Richard Davey
8373936896
Removing need for sqrts when mass is the same
2019-03-19 00:27:26 +00:00
Richard Davey
d59617a627
Never ending debugging ahoy.
2019-03-18 17:17:59 +00:00
Richard Davey
5485c07b32
Fixed world gravity rebound
2019-03-18 14:55:54 +00:00
Richard Davey
df0c76569f
Added world rebounds handler
2019-03-18 14:12:52 +00:00
Richard Davey
4e993ce296
Much better seperation code and testing block exchange
2019-03-18 14:12:40 +00:00
Richard Davey
728a6da8e6
Gravity stored in properties. Intersects padding removed.
2019-03-18 14:12:12 +00:00
Richard Davey
1306ad2f4a
Splitting up the process of checking and separating, merging results back into Body
...
Body now tracks previously blocked so it can test block status before update happens.
2019-03-18 08:08:46 +00:00
Richard Davey
01ddf26662
Optimizing code out
2019-03-15 19:22:51 +00:00
Richard Davey
f555757032
Refined soft blocks vs. hard blocks
2019-03-15 19:22:42 +00:00
Richard Davey
2e63be9dd8
Added setWorldBlocked methods
2019-03-15 19:22:32 +00:00
Richard Davey
7e6efb342e
Only apply gravity if not blocked and use new intersects method
2019-03-15 19:22:13 +00:00
Richard Davey
edf1b57c17
New Intersects method as it's used in multiple places
2019-03-15 19:21:54 +00:00
Richard Davey
3e967ab300
Move sleep iterations to property and add wake method
2019-03-15 13:31:57 +00:00
Richard Davey
1fc476d738
Wake-up sleeping bodies on impact
2019-03-15 13:31:40 +00:00
Richard Davey
9500fbc97c
No gravity for sleeping bodies
2019-03-15 13:31:26 +00:00
Richard Davey
e93c40ddb1
Set forcePosition flag
2019-03-15 12:54:25 +00:00
Richard Davey
bdde075643
Implemented sleeping and much better debug drawing
2019-03-15 12:53:59 +00:00
Richard Davey
ae93accf2e
Added the new debug colors to the World defaults
2019-03-15 12:52:55 +00:00
Richard Davey
b635458ebb
More resting tests
2019-03-14 17:20:47 +00:00
Richard Davey
a74feee87d
Use local var
2019-03-14 17:20:31 +00:00
Richard Davey
54612b55fb
Adding flip flop test
2019-03-14 14:52:07 +00:00
Richard Davey
07eea60143
Removed wasBlocked and tidied up
2019-03-14 14:16:25 +00:00
Richard Davey
a605ad8d0c
Handle nonn intersects aborts
2019-03-14 14:16:15 +00:00
Richard Davey
343964dd3a
Removed debug stuff and fixed array vs. array iteration
2019-03-14 14:15:58 +00:00
Richard Davey
3b53057257
Fixed prev distance calculation + added intersects check
2019-03-14 14:15:43 +00:00
Richard Davey
dc31e39e01
Pushing to carry on debugging at home
2019-03-13 17:27:11 +00:00
Richard Davey
9ad4ed6d8f
Overlap sharing implemented, allowing bounce to work again
2019-03-13 02:27:51 +00:00
Richard Davey
e42936314c
Test previous difference too, to mitigate tunneling
2019-03-13 02:27:11 +00:00
Richard Davey
395e4d0554
Cache vars
2019-03-13 02:26:52 +00:00
Richard Davey
5b4b2d2fa9
Fixed issue re: would bounce
2019-03-11 22:47:59 +00:00
Richard Davey
24921d653b
Added body filtering back
2019-03-11 22:47:48 +00:00
Richard Davey
b228e23dfd
Added blocked debug
2019-03-11 17:28:43 +00:00
Richard Davey
afd1dac03c
Move flag responsibility back in
2019-03-11 17:28:23 +00:00
Richard Davey
3ab9da8f04
Test just Y for now
2019-03-11 17:27:55 +00:00
Richard Davey
dea9a06dd2
Reworked the logic to reduce quantity of flags
2019-03-11 17:27:29 +00:00
Richard Davey
59859e93a7
Reset velocity on world bounds and blocked by setting
2019-03-11 12:26:58 +00:00
Richard Davey
f8b59e3e14
Added embedded check
2019-03-11 12:26:23 +00:00
Richard Davey
1d5dbb960a
A Body can only be blocked by 1 object per frame
2019-03-11 12:26:11 +00:00
Richard Davey
09cb8db2d8
Removed logging
2019-03-11 11:05:58 +00:00
Richard Davey
70f6484716
Flag swizzles ahoy
2019-03-11 11:05:51 +00:00
Richard Davey
932f70cea2
Removed logging and handled bounds collision
2019-03-11 11:05:42 +00:00
Richard Davey
89e33ae53e
Testing. Please do not use this build, it will break AP.
2019-03-11 09:19:41 +00:00
Richard Davey
9db9511bf1
Working on new blocked flag setting
2019-03-08 20:12:49 +00:00
Richard Davey
e27196ce52
Removed responsibility for flag setting from overlay, also return a value all the time, not just in motion
2019-03-08 20:11:27 +00:00
Richard Davey
e1f9e31e9f
Added setTouching and setBlocked methods + refactored the way world bounds collision is done
2019-03-08 20:10:49 +00:00
Richard Davey
08d4961aab
Allow to pass in a single array to check against itself
2019-03-08 20:09:18 +00:00
Richard Davey
e5fbe13649
Updated docs
2019-03-08 19:54:46 +00:00
Richard Davey
8839ab1c0e
Added the new overlapRect
method.
2019-03-07 15:16:31 +00:00
Richard Davey
8e872fcb51
Fixed closest and furthest when the RTree is disabled
2019-03-07 14:13:45 +00:00
Richard Davey
d36ada0386
Added collideTiles
and overlapTiles
to AP.
2019-03-07 13:36:15 +00:00