Difference between revisions of "B2.Contact"
From GiderosMobile
Line 27: | Line 27: | ||
| style="width: 50%; vertical-align:top;"| | | style="width: 50%; vertical-align:top;"| | ||
=== Methods === | === Methods === | ||
− | [[b2.Contact:getChildIndexA]] | + | [[b2.Contact:getChildIndexA]] <br/> |
− | [[b2.Contact:getChildIndexB]] | + | [[b2.Contact:getChildIndexB]] <br/> |
− | [[b2.Contact:getFixtureA]] | + | [[b2.Contact:getFixtureA]] <br/> |
− | [[b2.Contact:getFixtureB]] | + | [[b2.Contact:getFixtureB]] <br/> |
− | [[b2.Contact:getFriction]] | + | [[b2.Contact:getFriction]] <br/> |
− | [[b2.Contact:getManifold]] | + | [[b2.Contact:getManifold]] <br/> |
− | [[b2.Contact:getRestitution]] | + | [[b2.Contact:getRestitution]] <br/> |
− | [[b2.Contact:getWorldManifold]] | + | [[b2.Contact:getWorldManifold]] <br/> |
− | [[b2.Contact:isTouching]] | + | [[b2.Contact:isTouching]] <br/> |
− | [[b2.Contact:resetFriction]] | + | [[b2.Contact:resetFriction]] <br/> |
− | [[b2.Contact:resetRestitution]] | + | [[b2.Contact:resetRestitution]] <br/> |
− | [[b2.Contact:setEnabled]] | + | [[b2.Contact:setEnabled]] <br/> |
− | [[b2.Contact:setFriction]] | + | [[b2.Contact:setFriction]] <br/> |
− | [[b2.Contact:setRestitution]] | + | [[b2.Contact:setRestitution]] <br/> |
| style="width: 50%; vertical-align:top;"| | | style="width: 50%; vertical-align:top;"| | ||
=== Events === | === Events === | ||
=== Constants === | === Constants === | ||
|} | |} |
Revision as of 14:35, 23 August 2018
Supported platforms: android, ios, mac, pc
Available since: Gideros 2012.09.6
Description
The class manages contact between two shapes. A contact exists for each overlapping AABB in the broad-phase (except if filtered). Therefore a contact object may exist that has no contact points.
Examples
Checking collisions from bottom using b2.Contact
local isTouchingGround = false
world:addEventListener(Event.BEGIN_CONTACT, function(e)
local manifold = e.contact:getWorldManifold()
if manifold.normal.y > 0.9 then
--collision came from bottom
isTouchingGround = true
end
end)
world:addEventListener(Event.END_CONTACT, function(e)
local manifold = e.contact:getWorldManifold()
if manifold.normal.y < 0.1 then
--collision ended from bottom
isTouchingGround = false
end
end)