Difference between revisions of "B2.DistanceJoint:setDampingRatio"

From GiderosMobile
m (Text replacement - "<source" to "<syntaxhighlight")
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
<languages />
 
 
'''Available since:''' Gideros 2011.6<br/>
 
'''Available since:''' Gideros 2011.6<br/>
'''Class:''' [[Special:MyLanguage/b2.DistanceJoint|b2.DistanceJoint]]<br/>
+
'''Class:''' [[b2.DistanceJoint]]<br/>
  
 
=== Description ===
 
=== Description ===
 
Sets the damping ratio of this distance joint. 0 = no damping, 1 = critical damping.
 
Sets the damping ratio of this distance joint. 0 = no damping, 1 = critical damping.
<source lang="lua">
+
<syntaxhighlight lang="lua">
 
b2.DistanceJoint:setDampingRatio(ratio)
 
b2.DistanceJoint:setDampingRatio(ratio)
</source>
+
</syntaxhighlight>
 +
 
 +
For a rigid distance joint you would set the frequency equals to 0 and the damping equals to 1.
  
 
=== Parameters ===
 
=== Parameters ===
'''ratio''': (number) the damping ratio <br/>
+
'''ratio''': (number) the damping ratio (usually between 0 and 1)<br/>
 +
 
 +
=== Example ===
 +
'''This is some code from an actual game ;-)'''
 +
<syntaxhighlight lang="lua">
 +
self.body.ground = self.world:createBody({})
 +
if g_currentlevel == 2 then
 +
self.body.ground:setPosition(xposx, xposy)
 +
local jointDef = b2.createDistanceJointDef(self.body.ground, self.body, xposx + 0, xposy - 64, xposx, xposy)
 +
self.body.joint = self.world:createJoint(jointDef)
 +
self.body.joint:setDampingRatio(0.5)
 +
self.body.joint:setFrequency(1.2)
 +
end
 +
</syntaxhighlight>
  
 
{{B2.DistanceJoint}}
 
{{B2.DistanceJoint}}

Latest revision as of 18:14, 12 July 2023

Available since: Gideros 2011.6
Class: b2.DistanceJoint

Description

Sets the damping ratio of this distance joint. 0 = no damping, 1 = critical damping.

b2.DistanceJoint:setDampingRatio(ratio)

For a rigid distance joint you would set the frequency equals to 0 and the damping equals to 1.

Parameters

ratio: (number) the damping ratio (usually between 0 and 1)

Example

This is some code from an actual game ;-)

self.body.ground = self.world:createBody({})
if g_currentlevel == 2 then
	self.body.ground:setPosition(xposx, xposy)
	local jointDef = b2.createDistanceJointDef(self.body.ground, self.body, xposx + 0, xposy - 64, xposx, xposy)
	self.body.joint = self.world:createJoint(jointDef)
	self.body.joint:setDampingRatio(0.5)
	self.body.joint:setFrequency(1.2)
end




LiquidFun