Difference between revisions of "B2.createGearJointDef"
m (Text replacement - "<source" to "<syntaxhighlight") |
|||
Line 8: | Line 8: | ||
(Please refer to [[b2.World:createJoint]] function for more information about all the information needed to create a gear joint). | (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) | (table) = b2.createGearJointDef(bodyA,bodyB,joint1,joint2,ratio) | ||
</source> | </source> | ||
Line 24: | Line 24: | ||
=== Examples === | === Examples === | ||
'''Gear joint combining revolute and prismatic joints''' | '''Gear joint combining revolute and prismatic joints''' | ||
− | < | + | <syntaxhighlight lang="lua"> |
--create empty box2d body for joint | --create empty box2d body for joint | ||
local ground = world:createBody({}) | local ground = world:createBody({}) |
Revision as of 14:26, 13 July 2023
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>