Difference between revisions of "love.physics.newBody"
m (Add list.) |
|||
(2 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
There are three types of bodies. | There are three types of bodies. | ||
− | * Static bodies do not move, have | + | * Static bodies do not move, have an infinite mass, and can be used for level boundaries. |
* Dynamic bodies are the main actors in the simulation, they collide with everything. | * Dynamic bodies are the main actors in the simulation, they collide with everything. | ||
* Kinematic bodies do not react to forces and only collide with dynamic bodies. | * Kinematic bodies do not react to forces and only collide with dynamic bodies. | ||
The mass of the body gets calculated when a [[Fixture]] is attached or removed, but can be changed at any time with [[Body:setMass]] or [[Body:resetMassData]]. | The mass of the body gets calculated when a [[Fixture]] is attached or removed, but can be changed at any time with [[Body:setMass]] or [[Body:resetMassData]]. | ||
+ | |||
+ | {{notice|Making changes to a [[World]] is not allowed inside of the [[beginContact]], [[endContact]], [[preSolve]], and [[postSolve]] callback functions, as BOX2D locks the world during these callbacks.}} | ||
== Function == | == Function == | ||
Line 36: | Line 38: | ||
=== Returns === | === Returns === | ||
{{param|Body|body|A new body.}} | {{param|Body|body|A new body.}} | ||
+ | |||
+ | == Examples == | ||
+ | <source lang="lua"> | ||
+ | love.physics.setMeter(40) -- meter is 40 px/units | ||
+ | world = love.physics.newWorld(0, 9.81*40, true) -- new world with gravity | ||
+ | body1 = love.physics.newBody(world, 250, 300, "static") -- new static body at x=250, y=300 | ||
+ | body2 = love.physics.newBody(world, 251, 100, "dynamic") -- new dynamic body at x=251, y=100 | ||
+ | </source> | ||
== See Also == | == See Also == |
Latest revision as of 18:24, 19 April 2022
Creates a new body.
There are three types of bodies.
- Static bodies do not move, have an infinite mass, and can be used for level boundaries.
- Dynamic bodies are the main actors in the simulation, they collide with everything.
- Kinematic bodies do not react to forces and only collide with dynamic bodies.
The mass of the body gets calculated when a Fixture is attached or removed, but can be changed at any time with Body:setMass or Body:resetMassData.
Making changes to a World is not allowed inside of the beginContact, endContact, preSolve, and postSolve callback functions, as BOX2D locks the world during these callbacks. |
Contents
Function
Available since LÖVE 0.8.0 |
This variant is not supported in earlier versions. |
Synopsis
body = love.physics.newBody( world, x, y, type )
Arguments
World world
- The world to create the body in.
number x (0)
- The x position of the body.
number y (0)
- The y position of the body.
BodyType type ("static")
- The type of the body.
Returns
Body body
- A new body.
Function
Removed in LÖVE 0.8.0 |
This variant is not supported in that and later versions. |
Synopsis
body = love.physics.newBody( world, x, y, m, i )
Arguments
World world
- The world to create the body in.
number x (0)
- The x position of the body.
number y (0)
- The y position of the body.
number m (0)
- The mass of the body.
number i (0)
- The rotational inertia of the body.
Returns
Body body
- A new body.
Examples
love.physics.setMeter(40) -- meter is 40 px/units
world = love.physics.newWorld(0, 9.81*40, true) -- new world with gravity
body1 = love.physics.newBody(world, 250, 300, "static") -- new static body at x=250, y=300
body2 = love.physics.newBody(world, 251, 100, "dynamic") -- new dynamic body at x=251, y=100
See Also
Other Languages
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info