Difference between revisions of "B2.Body"

From GiderosMobile
Line 42: Line 42:
 
| style="width: 50%; vertical-align:top;"|
 
| style="width: 50%; vertical-align:top;"|
 
=== <translate>Methods</translate> ===
 
=== <translate>Methods</translate> ===
[[Special:MyLanguage/b2.Body:applyAngularImpulse|b2.Body:applyAngularImpulse]] ''<translate>applies an angular impulse</translate>''<br/><!-- GIDEROSMTD:b2.Body:applyAngularImpulse -->
+
[[Special:MyLanguage/b2.Body:applyAngularImpulse|b2.Body:applyAngularImpulse]] ''<translate>applies an angular impulse</translate>''<br/><!-- GIDEROSMTD:b2.Body:applyAngularImpulse(impulse) applies an angular impulse -->
[[Special:MyLanguage/b2.Body:applyForce|b2.Body:applyForce]] ''<translate>applies a force at a world point</translate>''<br/><!-- GIDEROSMTD:b2.Body:applyForce -->
+
[[Special:MyLanguage/b2.Body:applyForce|b2.Body:applyForce]] ''<translate>applies a force at a world point</translate>''<br/><!-- GIDEROSMTD:b2.Body:applyForce(forcex,forcey,pointx,pointy) applies a force at a world point -->
[[Special:MyLanguage/b2.Body:applyLinearImpulse|b2.Body:applyLinearImpulse]] ''<translate>applies an impulse at a point</translate>''<br/><!-- GIDEROSMTD:b2.Body:applyLinearImpulse -->
+
[[Special:MyLanguage/b2.Body:applyLinearImpulse|b2.Body:applyLinearImpulse]] ''<translate>applies an impulse at a point</translate>''<br/><!-- GIDEROSMTD:b2.Body:applyLinearImpulse(impulsex,impulsey,pointx,pointy) applies an impulse at a point -->
[[Special:MyLanguage/b2.Body:applyTorque|b2.Body:applyTorque]] ''<translate>applies a torque</translate>''<br/><!-- GIDEROSMTD:b2.Body:applyTorque -->
+
[[Special:MyLanguage/b2.Body:applyTorque|b2.Body:applyTorque]] ''<translate>applies a torque</translate>''<br/><!-- GIDEROSMTD:b2.Body:applyTorque(torque) applies a torque -->
[[Special:MyLanguage/b2.Body:createFixture|b2.Body:createFixture]] ''<translate>creates a fixture and attach it to this body</translate>''<br/><!-- GIDEROSMTD:b2.Body:createFixture -->
+
[[Special:MyLanguage/b2.Body:createFixture|b2.Body:createFixture]] ''<translate>creates a fixture and attach it to this body</translate>''<br/><!-- GIDEROSMTD:b2.Body:createFixture(fixtureDef) creates a fixture and attach it to this body -->
[[Special:MyLanguage/b2.Body:destroyFixture|b2.Body:destroyFixture]] ''<translate>destroys a fixture</translate>''<br/><!-- GIDEROSMTD:b2.Body:destroyFixture -->
+
[[Special:MyLanguage/b2.Body:destroyFixture|b2.Body:destroyFixture]] ''<translate>destroys a fixture</translate>''<br/><!-- GIDEROSMTD:b2.Body:destroyFixture(fixture) destroys a fixture -->
[[Special:MyLanguage/b2.Body:getAngle|b2.Body:getAngle]] ''<translate>returns the current world rotation angle in radians</translate>''<br/><!-- GIDEROSMTD:b2.Body:getAngle -->
+
[[Special:MyLanguage/b2.Body:getAngle|b2.Body:getAngle]] ''<translate>returns the current world rotation angle in radians</translate>''<br/><!-- GIDEROSMTD:b2.Body:getAngle() returns the current world rotation angle in radians -->
[[Special:MyLanguage/b2.Body:getAngularDamping|b2.Body:getAngularDamping]] ''<translate>returns the angular damping of the body</translate>''<br/><!-- GIDEROSMTD:b2.Body:getAngularDamping -->
+
[[Special:MyLanguage/b2.Body:getAngularDamping|b2.Body:getAngularDamping]] ''<translate>returns the angular damping of the body</translate>''<br/><!-- GIDEROSMTD:b2.Body:getAngularDamping() returns the angular damping of the body -->
[[Special:MyLanguage/b2.Body:getAngularVelocity|b2.Body:getAngularVelocity]] ''<translate>returns the angular velocity</translate>''<br/><!-- GIDEROSMTD:b2.Body:getAngularVelocity -->
+
[[Special:MyLanguage/b2.Body:getAngularVelocity|b2.Body:getAngularVelocity]] ''<translate>returns the angular velocity</translate>''<br/><!-- GIDEROSMTD:b2.Body:getAngularVelocity() returns the angular velocity -->
[[Special:MyLanguage/b2.Body:getGravityScale|b2.Body:getGravityScale]] ''<translate>returns the gravity scale of the body</translate>''<br/><!-- GIDEROSMTD:b2.Body:getGravityScale -->
+
[[Special:MyLanguage/b2.Body:getGravityScale|b2.Body:getGravityScale]] ''<translate>returns the gravity scale of the body</translate>''<br/><!-- GIDEROSMTD:b2.Body:getGravityScale() returns the gravity scale of the body -->
[[Special:MyLanguage/b2.Body:getInertia|b2.Body:getInertia]] ''<translate>returns the rotational inertia of the body about the local origin in kg-m^2</translate>''<br/><!-- GIDEROSMTD:b2.Body:getInertia -->
+
[[Special:MyLanguage/b2.Body:getInertia|b2.Body:getInertia]] ''<translate>returns the rotational inertia of the body about the local origin in kg-m^2</translate>''<br/><!-- GIDEROSMTD:b2.Body:getInertia() returns the rotational inertia of the body about the local origin in kg-m^2 -->
[[Special:MyLanguage/b2.Body:getLinearDamping|b2.Body:getLinearDamping]] ''<translate>returns the linear damping of the body</translate>''<br/><!-- GIDEROSMTD:b2.Body:getLinearDamping -->
+
[[Special:MyLanguage/b2.Body:getLinearDamping|b2.Body:getLinearDamping]] ''<translate>returns the linear damping of the body</translate>''<br/><!-- GIDEROSMTD:b2.Body:getLinearDamping() returns the linear damping of the body -->
[[Special:MyLanguage/b2.Body:getLinearVelocity|b2.Body:getLinearVelocity]] ''<translate>returns the linear velocity of the center of mass</translate>''<br/><!-- GIDEROSMTD:b2.Body:getLinearVelocity -->
+
[[Special:MyLanguage/b2.Body:getLinearVelocity|b2.Body:getLinearVelocity]] ''<translate>returns the linear velocity of the center of mass</translate>''<br/><!-- GIDEROSMTD:b2.Body:getLinearVelocity() returns the linear velocity of the center of mass -->
[[Special:MyLanguage/b2.Body:getLocalCenter|b2.Body:getLocalCenter]] ''<translate>returns the local position of the center of mass</translate>''<br/><!-- GIDEROSMTD:b2.Body:getLocalCenter -->
+
[[Special:MyLanguage/b2.Body:getLocalCenter|b2.Body:getLocalCenter]] ''<translate>returns the local position of the center of mass</translate>''<br/><!-- GIDEROSMTD:b2.Body:getLocalCenter() returns the local position of the center of mass -->
[[Special:MyLanguage/b2.Body:getLocalPoint|b2.Body:getLocalPoint]] <br/><!-- GIDEROSMTD:b2.Body:getLocalPoint -->
+
[[Special:MyLanguage/b2.Body:getLocalPoint|b2.Body:getLocalPoint]] <br/><!-- GIDEROSMTD:b2.Body:getLocalPoint(x,y)  -->
[[Special:MyLanguage/b2.Body:getLocalVector|b2.Body:getLocalVector]] <br/><!-- GIDEROSMTD:b2.Body:getLocalVector -->
+
[[Special:MyLanguage/b2.Body:getLocalVector|b2.Body:getLocalVector]] <br/><!-- GIDEROSMTD:b2.Body:getLocalVector(x,y)  -->
[[Special:MyLanguage/b2.Body:getMass|b2.Body:getMass]] ''<translate>returns the total mass of the body in kilograms (kg)</translate>''<br/><!-- GIDEROSMTD:b2.Body:getMass -->
+
[[Special:MyLanguage/b2.Body:getMass|b2.Body:getMass]] ''<translate>returns the total mass of the body in kilograms (kg)</translate>''<br/><!-- GIDEROSMTD:b2.Body:getMass() returns the total mass of the body in kilograms (kg) -->
[[Special:MyLanguage/b2.Body:getPosition|b2.Body:getPosition]] ''<translate>returns the world body origin position</translate>''<br/><!-- GIDEROSMTD:b2.Body:getPosition -->
+
[[Special:MyLanguage/b2.Body:getPosition|b2.Body:getPosition]] ''<translate>returns the world body origin position</translate>''<br/><!-- GIDEROSMTD:b2.Body:getPosition() returns the world body origin position -->
[[Special:MyLanguage/b2.Body:getWorldCenter|b2.Body:getWorldCenter]] ''<translate>returns the world position of the center of mass</translate>''<br/><!-- GIDEROSMTD:b2.Body:getWorldCenter -->
+
[[Special:MyLanguage/b2.Body:getWorldCenter|b2.Body:getWorldCenter]] ''<translate>returns the world position of the center of mass</translate>''<br/><!-- GIDEROSMTD:b2.Body:getWorldCenter() returns the world position of the center of mass -->
[[Special:MyLanguage/b2.Body:getWorldPoint|b2.Body:getWorldPoint]] <br/><!-- GIDEROSMTD:b2.Body:getWorldPoint -->
+
[[Special:MyLanguage/b2.Body:getWorldPoint|b2.Body:getWorldPoint]] <br/><!-- GIDEROSMTD:b2.Body:getWorldPoint(x,y)  -->
[[Special:MyLanguage/b2.Body:getWorldVector|b2.Body:getWorldVector]] <br/><!-- GIDEROSMTD:b2.Body:getWorldVector -->
+
[[Special:MyLanguage/b2.Body:getWorldVector|b2.Body:getWorldVector]] <br/><!-- GIDEROSMTD:b2.Body:getWorldVector(x,y)  -->
[[Special:MyLanguage/b2.Body:isActive|b2.Body:isActive]] ''<translate>returns the active state of the body</translate>''<br/><!-- GIDEROSMTD:b2.Body:isActive -->
+
[[Special:MyLanguage/b2.Body:isActive|b2.Body:isActive]] ''<translate>returns the active state of the body</translate>''<br/><!-- GIDEROSMTD:b2.Body:isActive() returns the active state of the body -->
[[Special:MyLanguage/b2.Body:isAwake|b2.Body:isAwake]] ''<translate>returns the sleeping state of the body</translate>''<br/><!-- GIDEROSMTD:b2.Body:isAwake -->
+
[[Special:MyLanguage/b2.Body:isAwake|b2.Body:isAwake]] ''<translate>returns the sleeping state of the body</translate>''<br/><!-- GIDEROSMTD:b2.Body:isAwake() returns the sleeping state of the body -->
[[Special:MyLanguage/b2.Body:isBullet|b2.Body:isBullet]] <br/><!-- GIDEROSMTD:b2.Body:isBullet -->
+
[[Special:MyLanguage/b2.Body:isBullet|b2.Body:isBullet]] <br/><!-- GIDEROSMTD:b2.Body:isBullet()  -->
[[Special:MyLanguage/b2.Body:isFixedRotation|b2.Body:isFixedRotation]] <br/><!-- GIDEROSMTD:b2.Body:isFixedRotation -->
+
[[Special:MyLanguage/b2.Body:isFixedRotation|b2.Body:isFixedRotation]] <br/><!-- GIDEROSMTD:b2.Body:isFixedRotation()  -->
[[Special:MyLanguage/b2.Body:isSleepingAllowed|b2.Body:isSleepingAllowed]] <br/><!-- GIDEROSMTD:b2.Body:isSleepingAllowed -->
+
[[Special:MyLanguage/b2.Body:isSleepingAllowed|b2.Body:isSleepingAllowed]] <br/><!-- GIDEROSMTD:b2.Body:isSleepingAllowed()  -->
[[Special:MyLanguage/b2.Body:setActive|b2.Body:setActive]] ''<translate>sets the active state of the body</translate>''<br/><!-- GIDEROSMTD:b2.Body:setActive -->
+
[[Special:MyLanguage/b2.Body:setActive|b2.Body:setActive]] ''<translate>sets the active state of the body</translate>''<br/><!-- GIDEROSMTD:b2.Body:setActive(flag) sets the active state of the body -->
[[Special:MyLanguage/b2.Body:setAngle|b2.Body:setAngle]] <br/><!-- GIDEROSMTD:b2.Body:setAngle -->
+
[[Special:MyLanguage/b2.Body:setAngle|b2.Body:setAngle]] <br/><!-- GIDEROSMTD:b2.Body:setAngle(angle)  -->
[[Special:MyLanguage/b2.Body:setAngularDamping|b2.Body:setAngularDamping]] ''<translate>sets the angular damping of the body</translate>''<br/><!-- GIDEROSMTD:b2.Body:setAngularDamping -->
+
[[Special:MyLanguage/b2.Body:setAngularDamping|b2.Body:setAngularDamping]] ''<translate>sets the angular damping of the body</translate>''<br/><!-- GIDEROSMTD:b2.Body:setAngularDamping(angularDamping) sets the angular damping of the body -->
[[Special:MyLanguage/b2.Body:setAngularVelocity|b2.Body:setAngularVelocity]] ''<translate>sets the angular velocity</translate>''<br/><!-- GIDEROSMTD:b2.Body:setAngularVelocity -->
+
[[Special:MyLanguage/b2.Body:setAngularVelocity|b2.Body:setAngularVelocity]] ''<translate>sets the angular velocity</translate>''<br/><!-- GIDEROSMTD:b2.Body:setAngularVelocity(omega) sets the angular velocity -->
[[Special:MyLanguage/b2.Body:setAwake|b2.Body:setAwake]] ''<translate>sets the sleep state of the body</translate>''<br/><!-- GIDEROSMTD:b2.Body:setAwake -->
+
[[Special:MyLanguage/b2.Body:setAwake|b2.Body:setAwake]] ''<translate>sets the sleep state of the body</translate>''<br/><!-- GIDEROSMTD:b2.Body:setAwake(awake) sets the sleep state of the body -->
[[Special:MyLanguage/b2.Body:setBullet|b2.Body:setBullet]] <br/><!-- GIDEROSMTD:b2.Body:setBullet -->
+
[[Special:MyLanguage/b2.Body:setBullet|b2.Body:setBullet]] <br/><!-- GIDEROSMTD:b2.Body:setBullet(flag)  -->
[[Special:MyLanguage/b2.Body:setFixedRotation|b2.Body:setFixedRotation]] <br/><!-- GIDEROSMTD:b2.Body:setFixedRotation -->
+
[[Special:MyLanguage/b2.Body:setFixedRotation|b2.Body:setFixedRotation]] <br/><!-- GIDEROSMTD:b2.Body:setFixedRotation(flag)  -->
[[Special:MyLanguage/b2.Body:setGravityScale|b2.Body:setGravityScale]] ''<translate>sets the gravity scale of the body</translate>''<br/><!-- GIDEROSMTD:b2.Body:setGravityScale -->
+
[[Special:MyLanguage/b2.Body:setGravityScale|b2.Body:setGravityScale]] ''<translate>sets the gravity scale of the body</translate>''<br/><!-- GIDEROSMTD:b2.Body:setGravityScale(scale) sets the gravity scale of the body -->
[[Special:MyLanguage/b2.Body:setLinearDamping|b2.Body:setLinearDamping]] ''<translate>sets the linear damping of the body</translate>''<br/><!-- GIDEROSMTD:b2.Body:setLinearDamping -->
+
[[Special:MyLanguage/b2.Body:setLinearDamping|b2.Body:setLinearDamping]] ''<translate>sets the linear damping of the body</translate>''<br/><!-- GIDEROSMTD:b2.Body:setLinearDamping(linearDamping) sets the linear damping of the body -->
[[Special:MyLanguage/b2.Body:setLinearVelocity|b2.Body:setLinearVelocity]] ''<translate>sets the linear velocity of the center of mass</translate>''<br/><!-- GIDEROSMTD:b2.Body:setLinearVelocity -->
+
[[Special:MyLanguage/b2.Body:setLinearVelocity|b2.Body:setLinearVelocity]] ''<translate>sets the linear velocity of the center of mass</translate>''<br/><!-- GIDEROSMTD:b2.Body:setLinearVelocity(x,y) sets the linear velocity of the center of mass -->
[[Special:MyLanguage/b2.Body:setPosition|b2.Body:setPosition]] ''<translate>sets the world body origin position</translate>''<br/><!-- GIDEROSMTD:b2.Body:setPosition -->
+
[[Special:MyLanguage/b2.Body:setPosition|b2.Body:setPosition]] ''<translate>sets the world body origin position</translate>''<br/><!-- GIDEROSMTD:b2.Body:setPosition(x,y) sets the world body origin position -->
[[Special:MyLanguage/b2.Body:setSleepingAllowed|b2.Body:setSleepingAllowed]] <br/><!-- GIDEROSMTD:b2.Body:setSleepingAllowed -->
+
[[Special:MyLanguage/b2.Body:setSleepingAllowed|b2.Body:setSleepingAllowed]] <br/><!-- GIDEROSMTD:b2.Body:setSleepingAllowed(flag)  -->
 
| style="width: 50%; vertical-align:top;"|
 
| style="width: 50%; vertical-align:top;"|
 
=== <translate>Events</translate> ===
 
=== <translate>Events</translate> ===
 
=== <translate>Constants</translate> ===
 
=== <translate>Constants</translate> ===
 
|}
 
|}

Revision as of 15:33, 13 September 2018


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

Description


A rigid body. These are created via b2.World:createBody.

Examples

Creating Box2d body and moving Bitmap along the body

require "box2d"
local world = b2.World.new(0, 10, true)

--create ball bitmap object from ball graphic
local ball = Bitmap.new(Texture.new("ball.png"))
--reference center of the ball for positioning
ball:setAnchorPoint(0.5,0.5)
 
ball:setPosition(100,100)
 
--get radius
local radius = ball:getWidth()/2
 
--create box2d physical object
local body = world:createBody{type = b2.DYNAMIC_BODY}
local circle = b2.CircleShape.new(0, 0, radius)
local fixture = body:createFixture{shape = circle, density = 1.0, 
friction = 0.1, restitution = 0.2}
ball.body = body
 
--add to scene
stage:addChild(ball)

stage:addEventListener(Event.ENTER_FRAME, function()
	-- edit the step values if required. These are good defaults!
    world:step(1/60, 8, 3)
	ball:setPosition(ball.body:getPosition())
	ball:setRotation(math.rad(ball.body:getAngle()))
end)

Methods

b2.Body:applyAngularImpulse applies an angular impulse
b2.Body:applyForce applies a force at a world point
b2.Body:applyLinearImpulse applies an impulse at a point
b2.Body:applyTorque applies a torque
b2.Body:createFixture creates a fixture and attach it to this body
b2.Body:destroyFixture destroys a fixture
b2.Body:getAngle returns the current world rotation angle in radians
b2.Body:getAngularDamping returns the angular damping of the body
b2.Body:getAngularVelocity returns the angular velocity
b2.Body:getGravityScale returns the gravity scale of the body
b2.Body:getInertia returns the rotational inertia of the body about the local origin in kg-m^2
b2.Body:getLinearDamping returns the linear damping of the body
b2.Body:getLinearVelocity returns the linear velocity of the center of mass
b2.Body:getLocalCenter returns the local position of the center of mass
b2.Body:getLocalPoint
b2.Body:getLocalVector
b2.Body:getMass returns the total mass of the body in kilograms (kg)
b2.Body:getPosition returns the world body origin position
b2.Body:getWorldCenter returns the world position of the center of mass
b2.Body:getWorldPoint
b2.Body:getWorldVector
b2.Body:isActive returns the active state of the body
b2.Body:isAwake returns the sleeping state of the body
b2.Body:isBullet
b2.Body:isFixedRotation
b2.Body:isSleepingAllowed
b2.Body:setActive sets the active state of the body
b2.Body:setAngle
b2.Body:setAngularDamping sets the angular damping of the body
b2.Body:setAngularVelocity sets the angular velocity
b2.Body:setAwake sets the sleep state of the body
b2.Body:setBullet
b2.Body:setFixedRotation
b2.Body:setGravityScale sets the gravity scale of the body
b2.Body:setLinearDamping sets the linear damping of the body
b2.Body:setLinearVelocity sets the linear velocity of the center of mass
b2.Body:setPosition sets the world body origin position
b2.Body:setSleepingAllowed

Events

Constants