Difference between revisions of "B2.Body"

From GiderosMobile
m (Text replacement - "</source" to "</syntaxhighlight")
Line 38: Line 38:
 
ball:setRotation(math.rad(ball.body:getAngle()))
 
ball:setRotation(math.rad(ball.body:getAngle()))
 
end)
 
end)
</source>
+
</syntaxhighlight>
  
 
{|-
 
{|-

Revision as of 16:52, 12 July 2023

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 created via B2.World:createBody.

Examples

Creating Box2d body and moving Bitmap along the body <source lang="lua"> 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) </syntaxhighlight>

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 returns the world coordinates of a vector given the local coordinates
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 strengthens or weakens the effect of the world gravity on a 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