Difference between revisions of "R3d.Body:setLinearVelocity"
From GiderosMobile
m (Text replacement - "</source>" to "</syntaxhighlight>") |
|||
| Line 5: | Line 5: | ||
Sets the body linear velocity. | Sets the body linear velocity. | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
| − | r3d.Body:setLinearVelocity( | + | r3d.Body:setLinearVelocity(vx,vy,vz) |
</syntaxhighlight> | </syntaxhighlight> | ||
=== Parameters === | === Parameters === | ||
| − | '''number''': (number) body linear velocity | + | '''vx''': (number) new body x axis linear velocity<br/> |
| + | '''vy''': (number) new body y axis linear velocity<br/> | ||
| + | '''vz''': (number) new body z axis linear velocity<br/> | ||
=== Example === | === Example === | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
| + | m = player1.body:getTransform() | ||
| + | rx, ry, rz = m:getRotationX(), m:getRotationY()+270, m:getRotationZ() -- XXX | ||
| + | if isup then | ||
| + | -- ^< deg Convert 'deg' into radians | ||
| + | player1.body:setLinearVelocity(math.cos(^<ry)*0.7*32, 0, -math.sin(^<ry)*0.7*32) | ||
| + | end | ||
| + | if isdown then | ||
| + | -- ^< deg Convert 'deg' into radians | ||
| + | player1.body:setLinearVelocity(-math.cos(^<ry)*0.7*32, 0, math.sin(^<ry)*0.7*32) | ||
| + | end | ||
| + | if isleft then player1.body:applyWorldTorque(0, 0.31*32, 0) end | ||
| + | if isright then player1.body:applyWorldTorque(0, -0.31*32, 0) end | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{{R3d.Body}} | {{R3d.Body}} | ||
Latest revision as of 09:59, 18 December 2025
Available since: Gideros 2020.2
Class: R3d.Body
Description
Sets the body linear velocity.
r3d.Body:setLinearVelocity(vx,vy,vz)
Parameters
vx: (number) new body x axis linear velocity
vy: (number) new body y axis linear velocity
vz: (number) new body z axis linear velocity
Example
m = player1.body:getTransform()
rx, ry, rz = m:getRotationX(), m:getRotationY()+270, m:getRotationZ() -- XXX
if isup then
-- ^< deg Convert 'deg' into radians
player1.body:setLinearVelocity(math.cos(^<ry)*0.7*32, 0, -math.sin(^<ry)*0.7*32)
end
if isdown then
-- ^< deg Convert 'deg' into radians
player1.body:setLinearVelocity(-math.cos(^<ry)*0.7*32, 0, math.sin(^<ry)*0.7*32)
end
if isleft then player1.body:applyWorldTorque(0, 0.31*32, 0) end
if isright then player1.body:applyWorldTorque(0, -0.31*32, 0) end
- R3d.Body
- R3d.Body.DYNAMIC BODY
- R3d.Body.KINEMATIC BODY
- R3d.Body.STATIC BODY
- R3d.Body:applyLocalForceAtCenterOfMass
- R3d.Body:applyLocalForceAtLocalPosition
- R3d.Body:applyLocalForceAtWorldPosition
- R3d.Body:applyLocalTorque
- R3d.Body:applyWorldForceAtCenterOfMass
- R3d.Body:applyWorldForceAtLocalPosition
- R3d.Body:applyWorldForceAtWorldPosition
- R3d.Body:applyWorldTorque
- R3d.Body:createFixture
- R3d.Body:destroyFixture
- R3d.Body:enableGravity
- R3d.Body:getAngularDamping
- R3d.Body:getAngularVelocity
- R3d.Body:getForce
- R3d.Body:getLinearDamping
- R3d.Body:getLinearVelocity
- R3d.Body:getMass
- R3d.Body:getTorque
- R3d.Body:getTransform
- R3d.Body:raycast
- R3d.Body:resetForce
- R3d.Body:resetTorque
- R3d.Body:setAngularDamping
- R3d.Body:setAngularLockAxisFactor
- R3d.Body:setAngularVelocity
- R3d.Body:setIsActive
- R3d.Body:setIsAllowedToSleep
- R3d.Body:setIsSleeping
- R3d.Body:setLinearDamping
- R3d.Body:setLinearLockAxisFactor
- R3d.Body:setLinearVelocity
- R3d.Body:setMass
- R3d.Body:setTransform
- R3d.Body:setType
- R3d.Body:testPointInside