Difference between revisions of "B2.World:step"

From GiderosMobile
m (Text replacement - "<source" to "<syntaxhighlight")
Line 6: Line 6:
 
=== <translate>Description</translate> ===
 
=== <translate>Description</translate> ===
 
Takes a time step. This performs collision detection, integration, and constraint solution.
 
Takes a time step. This performs collision detection, integration, and constraint solution.
<source lang="lua">
+
<syntaxhighlight lang="lua">
 
b2.World:step(timeStep,velocityIterations,positionIterations)
 
b2.World:step(timeStep,velocityIterations,positionIterations)
 
</source>
 
</source>
Line 17: Line 17:
 
=== <translate>Examples</translate> ===
 
=== <translate>Examples</translate> ===
 
'''Creating Box2d body and moving Bitmap along the body'''
 
'''Creating Box2d body and moving Bitmap along the body'''
<source lang="lua">
+
<syntaxhighlight lang="lua">
 
require "box2d"
 
require "box2d"
 
local world = b2.World.new(0, 10, true)
 
local world = b2.World.new(0, 10, true)

Revision as of 15:26, 13 July 2023


Available since: Gideros 2011.6
Class: b2.World

Description

Takes a time step. This performs collision detection, integration, and constraint solution. <syntaxhighlight lang="lua"> b2.World:step(timeStep,velocityIterations,positionIterations) </source>

Parameters

timeStep: (number) the amount of time to simulate, this should not vary
velocityIterations: (number) for the velocity constraint solver
positionIterations: (number) for the position constraint solver

Examples

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





LiquidFun