Difference between revisions of "B2.PrismaticJoint"
m (Text replacement - "</source" to "</syntaxhighlight") |
|||
(5 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
<languages /> | <languages /> | ||
<!-- GIDEROSOBJ:b2.PrismaticJoint --> | <!-- GIDEROSOBJ:b2.PrismaticJoint --> | ||
− | ''' | + | '''Supported platforms:''' [[File:Platform android.png]][[File:Platform ios.png]][[File:Platform mac.png]][[File:Platform pc.png]][[File:Platform html5.png]][[File:Platform winrt.png]][[File:Platform win32.png]]<br/> |
− | ''' | + | '''Available since:''' Gideros 2011.6<br/> |
− | ''' | + | '''Inherits from:''' [[Special:MyLanguage/b2.Joint|b2.Joint]]<br/> |
− | === | + | |
− | + | === Description === | |
− | 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. | + | 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. |
− | + | ||
− | === | + | === Examples === |
− | '''Prismatic joint''' | + | '''Prismatic joint''' |
− | < | + | <syntaxhighlight lang="lua"> |
+ | --create empty box2d body for joint | ||
local ground = world:createBody({}) | local ground = world:createBody({}) | ||
ground:setPosition(465, 480) | ground:setPosition(465, 480) | ||
− | --axisx, | + | --axisx, axisy values usually between 0 and 1 |
− | --0 | + | --0 0 moves freely |
− | --0 | + | --0 1 moves on y axis |
− | --1 | + | --1 0 moves on x axis |
− | --1 | + | --1 1 moves on diagonal |
local jointDef = b2.createPrismaticJointDef(body, ground, 350, 100, 0.3, 1) | local jointDef = b2.createPrismaticJointDef(body, ground, 350, 100, 0.3, 1) | ||
− | local prismaticJoint = world:createJoint(jointDef)</ | + | local prismaticJoint = world:createJoint(jointDef) |
+ | </syntaxhighlight> | ||
+ | |||
{|- | {|- | ||
| style="width: 50%; vertical-align:top;"| | | style="width: 50%; vertical-align:top;"| | ||
− | === | + | === Methods === |
− | [[Special:MyLanguage/b2.PrismaticJoint:enableLimit|b2.PrismaticJoint:enableLimit]] '' | + | [[Special:MyLanguage/b2.PrismaticJoint:enableLimit|b2.PrismaticJoint:enableLimit]] ''enables or disables the joint limit''<br/><!-- GIDEROSMTD:b2.PrismaticJoint:enableLimit(flag) enables or disables the joint limit --> |
− | [[Special:MyLanguage/b2.PrismaticJoint:enableMotor|b2.PrismaticJoint:enableMotor]] '' | + | [[Special:MyLanguage/b2.PrismaticJoint:enableMotor|b2.PrismaticJoint:enableMotor]] ''enables or disables the joint motor''<br/><!-- GIDEROSMTD:b2.PrismaticJoint:enableMotor(flag) enables or disables the joint motor --> |
− | [[Special:MyLanguage/b2.PrismaticJoint:getJointSpeed|b2.PrismaticJoint:getJointSpeed]] '' | + | [[Special:MyLanguage/b2.PrismaticJoint:getJointSpeed|b2.PrismaticJoint:getJointSpeed]] ''returns the current joint translation speed in meters per second''<br/><!-- GIDEROSMTD:b2.PrismaticJoint:getJointSpeed() returns the current joint translation speed in meters per second --> |
− | [[Special:MyLanguage/b2.PrismaticJoint:getJointTranslation|b2.PrismaticJoint:getJointTranslation]] '' | + | [[Special:MyLanguage/b2.PrismaticJoint:getJointTranslation|b2.PrismaticJoint:getJointTranslation]] ''returns the current joint translation in meters''<br/><!-- GIDEROSMTD:b2.PrismaticJoint:getJointTranslation() returns the current joint translation in meters --> |
− | [[Special:MyLanguage/b2.PrismaticJoint:getLimits|b2.PrismaticJoint:getLimits]] ''< | + | [[Special:MyLanguage/b2.PrismaticJoint:getLimits|b2.PrismaticJoint:getLimits]] ''returns the lower and upper joint limits in meters''<br/><!-- GIDEROSMTD:b2.PrismaticJoint:getLimits() returns the lower and upper joint limits in meters --> |
− | [[Special:MyLanguage/b2.PrismaticJoint:getMotorSpeed|b2.PrismaticJoint:getMotorSpeed]] '' | + | [[Special:MyLanguage/b2.PrismaticJoint:getMotorForce|b2.PrismaticJoint:getMotorForce]] ''returns the current motor force given the inverse time step''<br/><!-- GIDEROSMTD:b2.PrismaticJoint:getMotorForce(inv_dt) returns the current motor force given the inverse time step --> |
− | [[Special:MyLanguage/b2.PrismaticJoint:isLimitEnabled|b2.PrismaticJoint:isLimitEnabled]] '' | + | [[Special:MyLanguage/b2.PrismaticJoint:getMotorSpeed|b2.PrismaticJoint:getMotorSpeed]] ''returns the motor speed in meters per second''<br/><!-- GIDEROSMTD:b2.PrismaticJoint:getMotorSpeed() returns the motor speed in meters per second --> |
− | [[Special:MyLanguage/b2.PrismaticJoint:isMotorEnabled|b2.PrismaticJoint:isMotorEnabled]] '' | + | [[Special:MyLanguage/b2.PrismaticJoint:isLimitEnabled|b2.PrismaticJoint:isLimitEnabled]] ''is the joint limit enabled?''<br/><!-- GIDEROSMTD:b2.PrismaticJoint:isLimitEnabled() is the joint limit enabled? --> |
− | [[Special:MyLanguage/b2.PrismaticJoint:setLimits|b2.PrismaticJoint:setLimits]] '' | + | [[Special:MyLanguage/b2.PrismaticJoint:isMotorEnabled|b2.PrismaticJoint:isMotorEnabled]] ''is the joint motor enabled?''<br/><!-- GIDEROSMTD:b2.PrismaticJoint:isMotorEnabled() is the joint motor enabled? --> |
− | [[Special:MyLanguage/b2.PrismaticJoint:setMaxMotorForce|b2.PrismaticJoint:setMaxMotorForce]] '' | + | [[Special:MyLanguage/b2.PrismaticJoint:setLimits|b2.PrismaticJoint:setLimits]] ''sets the joint limits in meters''<br/><!-- GIDEROSMTD:b2.PrismaticJoint:setLimits(lower,upper) sets the joint limits in meters --> |
− | [[Special:MyLanguage/b2.PrismaticJoint:setMotorSpeed|b2.PrismaticJoint:setMotorSpeed]] '' | + | [[Special:MyLanguage/b2.PrismaticJoint:setMaxMotorForce|b2.PrismaticJoint:setMaxMotorForce]] ''sets the maximum motor force in N''<br/><!-- GIDEROSMTD:b2.PrismaticJoint:setMaxMotorForce(force) sets the maximum motor force in N --> |
− | + | [[Special:MyLanguage/b2.PrismaticJoint:setMotorSpeed|b2.PrismaticJoint:setMotorSpeed]] ''sets the motor speed in meters per second''<br/><!-- GIDEROSMTD:b2.PrismaticJoint:setMotorSpeed(speed) sets the motor speed in meters per second --> | |
+ | |||
| style="width: 50%; vertical-align:top;"| | | style="width: 50%; vertical-align:top;"| | ||
− | === | + | === Events === |
− | === | + | === Constants === |
|} | |} | ||
+ | |||
+ | ---- | ||
+ | *'''[[B2.Joint]]''' | ||
+ | *'''[[LiquidFun]]''' |
Latest revision as of 16:54, 12 July 2023
Supported platforms:
Available since: Gideros 2011.6
Inherits from: b2.Joint
Description
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.
Examples
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)
Methodsb2.PrismaticJoint:enableLimit enables or disables the joint limit |
EventsConstants |