B2.createGearJointDef

From GiderosMobile
Revision as of 15:26, 13 July 2023 by Hgy29 (talk | contribs) (Text replacement - "<source" to "<syntaxhighlight")


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>





LiquidFun