B2.createGearJointDef

From GiderosMobile
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.


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).

(table) = b2.createGearJointDef(bodyA,bodyB,joint1,joint2,ratio)

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

--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)





LiquidFun