Supported platforms: Platform android.pngPlatform ios.pngPlatform mac.pngPlatform pc.pngPlatform html5.pngPlatform winrt.pngPlatform win32.png
Available since: Gideros 2011.6
Inherits from: b2.Joint


A prismatic joint. This joint provides one degree of freedom: translation along an axis fixed in body1. Relative rotation is prevented. You can use a joint limit to restrict the range of motion and a joint motor to drive the motion or to model joint friction.


Prismatic joint

--create empty box2d body for joint
local ground = world:createBody({})
ground:setPosition(465, 480)

--axisx, axisy values usually between 0 and 1
--0 0 moves freely
--0 1 moves on y axis
--1 0 moves on x axis
--1 1 moves on diagonal
local jointDef = b2.createPrismaticJointDef(body, ground, 350, 100, 0.3, 1)
local prismaticJoint = world:createJoint(jointDef)


b2.PrismaticJoint:enableLimit enables or disables the joint limit
b2.PrismaticJoint:enableMotor enables or disables the joint motor
b2.PrismaticJoint:getJointSpeed returns the current joint translation speed in meters per second
b2.PrismaticJoint:getJointTranslation returns the current joint translation in meters
b2.PrismaticJoint:getLimits returns the lower and upper joint limits in meters
b2.PrismaticJoint:getMotorForce returns the current motor force given the inverse time step
b2.PrismaticJoint:getMotorSpeed returns the motor speed in meters per second
b2.PrismaticJoint:isLimitEnabled is the joint limit enabled?
b2.PrismaticJoint:isMotorEnabled is the joint motor enabled?
b2.PrismaticJoint:setLimits sets the joint limits in meters
b2.PrismaticJoint:setMaxMotorForce sets the maximum motor force in N
b2.PrismaticJoint:setMotorSpeed sets the motor speed in meters per second