Difference between revisions of "B2.createGearJointDef"

From GiderosMobile
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).
<source lang="lua">
+
<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'''
<source lang="lua">
+
<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 15: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>





LiquidFun