Difference between revisions of "love.physics.newBody"
(6 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
− | + | 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]]. | ||
+ | |||
+ | {{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 == | ||
+ | {{newin|[[0.8.0]]|080|type=variant}} | ||
=== Synopsis === | === Synopsis === | ||
<source lang="lua"> | <source lang="lua"> | ||
− | body = love.physics.newBody( world, x, y, | + | body = love.physics.newBody( world, x, y, type ) |
</source> | </source> | ||
=== Arguments === | === Arguments === | ||
Line 12: | Line 20: | ||
{{param|number|x (0)|The x position of the body.}} | {{param|number|x (0)|The x position of the body.}} | ||
{{param|number|y (0)|The y position of the body.}} | {{param|number|y (0)|The y position of the body.}} | ||
− | {{param| | + | {{param|BodyType|type ("static")|The type of the body.}} |
− | |||
=== Returns === | === Returns === | ||
{{param|Body|body|A new body.}} | {{param|Body|body|A new body.}} | ||
− | + | ||
− | |||
== Function == | == Function == | ||
+ | {{oldin|[[0.8.0]]|080|type=variant}} | ||
=== Synopsis === | === Synopsis === | ||
<source lang="lua"> | <source lang="lua"> | ||
− | body = love.physics.newBody( world, x, y, | + | body = love.physics.newBody( world, x, y, m, i ) |
</source> | </source> | ||
=== Arguments === | === Arguments === | ||
Line 27: | Line 34: | ||
{{param|number|x (0)|The x position of the body.}} | {{param|number|x (0)|The x position of the body.}} | ||
{{param|number|y (0)|The y position of the body.}} | {{param|number|y (0)|The y position of the body.}} | ||
− | {{param| | + | {{param|number|m (0)|The mass of the body.}} |
+ | {{param|number|i (0)|The rotational inertia of the body.}} | ||
=== 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 == | ||
* [[parent::love.physics]] | * [[parent::love.physics]] | ||
* [[Constructs::Body]] | * [[Constructs::Body]] | ||
[[Category:Functions]] | [[Category:Functions]] | ||
− | {{#set:Description= | + | {{#set:Description=Creates a new body.}} |
{{#set:Since=000}} | {{#set:Since=000}} | ||
== Other Languages == | == Other Languages == | ||
{{i18n|love.physics.newBody}} | {{i18n|love.physics.newBody}} |
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