Difference between revisions of "B2.DistanceJoint:setDampingRatio"
From GiderosMobile
m (Text replacement - "<source" to "<syntaxhighlight") |
|||
(9 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
'''Available since:''' Gideros 2011.6<br/> | '''Available since:''' Gideros 2011.6<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. | + | <syntaxhighlight lang="lua"> |
− | + | b2.DistanceJoint:setDampingRatio(ratio) | |
− | < | + | </syntaxhighlight> |
− | + | ||
− | </ | + | For a rigid distance joint you would set the frequency equals to 0 and the damping equals to 1. |
− | '''ratio''': (number) the damping ratio ''''''< | + | |
+ | === Parameters === | ||
+ | '''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}} |
Latest revision as of 17: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