Difference between revisions of "B2.Contact:setFriction"
From GiderosMobile
(added example) |
|||
| Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
| − | |||
'''Available since:''' Gideros 2012.09.6<br/> | '''Available since:''' Gideros 2012.09.6<br/> | ||
| − | '''Class:''' [[ | + | '''Class:''' [[b2.Contact]]<br/> |
=== Description === | === Description === | ||
| Line 11: | Line 10: | ||
=== Parameters === | === Parameters === | ||
| − | '''friction''': (number) the new friction value <br/> | + | '''friction''': (number) the new friction value<br/> |
| + | |||
| + | === Example === | ||
| + | <source 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 | ||
| + | </source> | ||
{{B2.Contact}} | {{B2.Contact}} | ||
Revision as of 13:50, 4 September 2021
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