Difference between revisions of "B2.PulleyJoint"
Line 6: | Line 6: | ||
The pulley joint is connected to two bodies and two fixed ground points. The pulley supports a ratio such that: length1 ratio * length2 <= constant Yes, the force transmitted is scaled by the ratio. The pulley also enforces a maximum length limit on both sides. This is useful to prevent one side of the pulley hitting the top. <br /> | The pulley joint is connected to two bodies and two fixed ground points. The pulley supports a ratio such that: length1 ratio * length2 <= constant Yes, the force transmitted is scaled by the ratio. The pulley also enforces a maximum length limit on both sides. This is useful to prevent one side of the pulley hitting the top. <br /> | ||
<br /> | <br /> | ||
+ | === Examples === | ||
+ | '''Pulley joint'''<br/> | ||
+ | <source lang="lua">--create empty box2d body for joint | ||
+ | local ground = world:createBody({}) | ||
+ | |||
+ | local jointDef = b2.createPulleyJointDef(body1, body2, | ||
+ | 200, 100, --coordinates where "imaginary string" is attached in the air for body 1 | ||
+ | 350, 100, --coordinates where "imaginary string" is attached in the air for body 2 | ||
+ | 200, 300, --coordinates where "imaginary string" is attached to the body 1 | ||
+ | 350, 300, --coordinates where "imaginary string" is attached in the body 2 | ||
+ | 1) -- ratio (if < 1 -> makes body 2 heavier, > 1 makes body 1 heavier, =1 makes them equal | ||
+ | local pulleyJoint = world:createJoint(jointDef)</source> | ||
{|- | {|- | ||
| style="width: 50%;"| | | style="width: 50%;"| |
Revision as of 10:45, 23 August 2018
Supported platforms: android, ios, mac, pc
Available since: Gideros 2011.6
Description
The pulley joint is connected to two bodies and two fixed ground points. The pulley supports a ratio such that: length1 ratio * length2 <= constant Yes, the force transmitted is scaled by the ratio. The pulley also enforces a maximum length limit on both sides. This is useful to prevent one side of the pulley hitting the top.
Examples
Pulley joint
--create empty box2d body for joint
local ground = world:createBody({})
local jointDef = b2.createPulleyJointDef(body1, body2,
200, 100, --coordinates where "imaginary string" is attached in the air for body 1
350, 100, --coordinates where "imaginary string" is attached in the air for body 2
200, 300, --coordinates where "imaginary string" is attached to the body 1
350, 300, --coordinates where "imaginary string" is attached in the body 2
1) -- ratio (if < 1 -> makes body 2 heavier, > 1 makes body 1 heavier, =1 makes them equal
local pulleyJoint = world:createJoint(jointDef)
Methodsb2.PulleyJoint:getGroundAnchorA - returns the x and y coordinates of the first ground anchor |
EventsConstants |