Difference between revisions of "B2.Contact:setFriction"
From GiderosMobile
m (Text replacement - "</source" to "</syntaxhighlight") |
|||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
− | + | '''Available since:''' Gideros 2012.09.6<br/> | |
− | ''' | + | '''Class:''' [[b2.Contact]]<br/> |
− | ''' | + | |
− | === | + | === Description === |
− | + | Overrides the default friction fixture. You can call this in pre-solve event. This value persists until set or reset. | |
− | Overrides the default friction | + | <syntaxhighlight lang="lua"> |
− | < | + | b2.Contact:setFriction(friction) |
− | + | </syntaxhighlight> | |
− | + | ||
− | </ | + | === Parameters === |
− | === | + | '''friction''': (number) the new friction value<br/> |
− | '''friction''': (number) < | + | |
+ | === Example === | ||
+ | <syntaxhighlight lang="lua"> | ||
+ | function LevelX:onPreSolveContact(e) | ||
+ | local bodyA = e.fixtureA:getBody() | ||
+ | local bodyB = e.fixtureB:getBody() | ||
+ | local platform, playable | ||
+ | if bodyA.name == G_PTPLATFORM then platform = bodyA playable = bodyB | ||
+ | elseif bodyB.name == G_PTPLATFORM then platform = bodyB playable = bodyA | ||
+ | end | ||
+ | if not platform then return end | ||
+ | e.contact:setFriction(0.4) -- here ;-) | ||
+ | end | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | {{B2.Contact}} |
Latest revision as of 17:21, 12 July 2023
Available since: Gideros 2012.09.6
Class: b2.Contact
Description
Overrides the default friction fixture. You can call this in pre-solve event. This value persists until set or reset.
b2.Contact:setFriction(friction)
Parameters
friction: (number) the new friction value
Example
function LevelX:onPreSolveContact(e)
local bodyA = e.fixtureA:getBody()
local bodyB = e.fixtureB:getBody()
local platform, playable
if bodyA.name == G_PTPLATFORM then platform = bodyA playable = bodyB
elseif bodyB.name == G_PTPLATFORM then platform = bodyB playable = bodyA
end
if not platform then return end
e.contact:setFriction(0.4) -- here ;-)
end
- B2.Contact
- B2.Contact:getChildIndexA
- B2.Contact:getChildIndexB
- B2.Contact:getFixtureA
- B2.Contact:getFixtureB
- B2.Contact:getFriction
- B2.Contact:getManifold
- B2.Contact:getRestitution
- B2.Contact:getWorldManifold
- B2.Contact:isTouching
- B2.Contact:resetFriction
- B2.Contact:resetRestitution
- B2.Contact:setEnabled
- B2.Contact:setFriction
- B2.Contact:setRestitution