B2.createGearJointDef
Available since: Gideros 2011.6
Class: b2
Description
Creates and returns a gear joint definition table.
(Please refer to b2.World:createJoint function for more information about all the information needed to create a gear joint). <syntaxhighlight lang="lua"> (table) = b2.createGearJointDef(bodyA,bodyB,joint1,joint2,ratio) </source>
Parameters
bodyA: (b2.Body) the first attached body
bodyB: (b2.Body) the second attached body
joint1: (b2.Joint) the first revolute/prismatic joint attached to the gear joint
joint2: (b2.Joint) the second revolute/prismatic joint attached to the gear joint
ratio: (number, default = 1) the gear ratio
Return values
Returns (table) A new gear joint definition table
Examples
Gear joint combining revolute and prismatic joints <syntaxhighlight lang="lua"> --create empty box2d body for joint local ground = world:createBody({})
--create revolute joint --note that ground should be passed as first parameter here local jointDef = b2.createRevoluteJointDef(ground, body1, 300, 300) local revoluteJoint = world:createJoint(jointDef) --set motor revoluteJoint:setMaxMotorTorque(1) revoluteJoint:enableMotor(true)
--axisx, axisy values usually between 0 and 1 --note that ground should be passed as first parameter here local jointDef = b2.createPrismaticJointDef(ground, body2, 350, 100, 0.3, 1) local prismaticJoint = world:createJoint(jointDef) --set motor prismaticJoint:setMaxMotorForce(1) prismaticJoint:enableMotor(true)
--create gear joint using two already created joints local jointDef = b2.createGearJointDef(body1, body2, revoluteJoint, prismaticJoint, 1) local gearJoint = world:createJoint(jointDef) </source>