Difference between revisions of "B2.Contact:setFriction"

From GiderosMobile
(added example)
m (Text replacement - "</source" to "</syntaxhighlight")
 
(One intermediate revision by the same user not shown)
Line 5: Line 5:
 
=== Description ===
 
=== 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 fixture. You can call this in pre-solve event. This value persists until set or reset.
<source lang="lua">
+
<syntaxhighlight lang="lua">
 
b2.Contact:setFriction(friction)
 
b2.Contact:setFriction(friction)
</source>
+
</syntaxhighlight>
  
 
=== Parameters ===
 
=== Parameters ===
Line 13: Line 13:
  
 
=== Example ===
 
=== Example ===
<source lang="lua">
+
<syntaxhighlight lang="lua">
 
function LevelX:onPreSolveContact(e)
 
function LevelX:onPreSolveContact(e)
 
local bodyA = e.fixtureA:getBody()
 
local bodyA = e.fixtureA:getBody()
Line 24: Line 24:
 
e.contact:setFriction(0.4) -- here ;-)
 
e.contact:setFriction(0.4) -- here ;-)
 
end
 
end
</source>
+
</syntaxhighlight>
  
 
{{B2.Contact}}
 
{{B2.Contact}}

Latest revision as of 18: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




LiquidFun