WorldContactListener class

Listens to the entire World's contact events.

It propagates the contact events (beginContact, endContact, preSolve, postSolve) to ContactCallbackss when a Body or at least one of its

If the Body userData is set to a ContactCallbacks the contact events of this will be called when any Body's fixture contacts another Fixture.

If instead you wish to be more specific and only trigger contact events when a specific Body's fixture contacts another Fixture, you can set the fixture userData to a ContactCallbacks.

If the colliding Fixture userData and Body userData are null, then the contact events are not called.

The described behavior is a simple out of the box solution to propagate contact events. If you wish to implement your own logic you can subclass ContactListener and provide it to your Forge2DGame.

Inheritance

Constructors

WorldContactListener()

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

beginContact(Contact contact) → void
Called when two fixtures begin to touch.
override
endContact(Contact contact) → void
Called when two fixtures cease to touch.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
postSolve(Contact contact, ContactImpulse impulse) → void
This lets you inspect a contact after the solver is finished. This is useful for inspecting impulses. Note: the contact manifold does not include time of impact impulses, which can be arbitrarily large if the sub-step is small. Hence the impulse is provided explicitly in a separate data structure. Note: this is only called for contacts that are touching, solid, and awake. impulse this is usually a pooled variable, so it will be modified after this call
override
preSolve(Contact contact, Manifold oldManifold) → void
This is called after a contact is updated. This allows you to inspect a contact before it goes to the solver. If you are careful, you can modify the contact manifold (e.g. disable contact). A copy of the old manifold is provided so that you can detect changes. Note: this is called only for awake bodies. Note: this is called even when the number of contact points is zero. Note: this is not called for sensors. Note: if you set the number of contact points to zero, you will not get an EndContact callback. However, you may get a BeginContact callback the next step. Note: the oldManifold parameter is pooled, so it will be the same object for every callback for each thread.
override
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited