Difference between revisions of "love.graphics.newParticleSystem"

m (Finished Fierceform's good work)
m
 
(11 intermediate revisions by 6 users not shown)
Line 1: Line 1:
Creates a new ParticleSystem.
+
Creates a new [[ParticleSystem]].
 +
{{newobjectnotice}}
 
== Function ==
 
== Function ==
 
=== Synopsis ===
 
=== Synopsis ===
Line 6: Line 7:
 
</source>
 
</source>
 
=== Arguments ===
 
=== Arguments ===
{{param|Image|image|The image object.}}
+
{{param|Image|image|The image to use.}}
{{param|number|buffer|The max number of particles at the same time.}}
+
{{param|number|buffer (1000)|The max number of particles at the same time.}}
 
=== Returns ===
 
=== Returns ===
 
{{param|ParticleSystem|system|A new ParticleSystem.}}
 
{{param|ParticleSystem|system|A new ParticleSystem.}}
 +
 +
== Function ==
 +
{{newin|[[0.9.1]]|091|type=variant}}
 +
=== Synopsis ===
 +
<source lang="lua">
 +
system = love.graphics.newParticleSystem( texture, buffer )
 +
</source>
 +
=== Arguments ===
 +
{{param|Texture|texture|The texture ([[Image]] or [[Canvas]]) to use.}}
 +
{{param|number|buffer (1000)|The max number of particles at the same time.}}
 +
=== Returns ===
 +
{{param|ParticleSystem|system|A new ParticleSystem.}}
 +
 +
== Examples ==
 +
=== Creation and usage of a particle system ===
 +
You can use the [[:File:Love-game-logo-256x256.png|LÖVE logo]] as an example image.
 +
<source lang="lua">
 +
function love.load()
 +
local img = love.graphics.newImage('logo.png')
 +
 +
psystem = love.graphics.newParticleSystem(img, 32)
 +
psystem:setParticleLifetime(2, 5) -- Particles live at least 2s and at most 5s.
 +
psystem:setEmissionRate(5)
 +
psystem:setSizeVariation(1)
 +
psystem:setLinearAcceleration(-20, -20, 20, 20) -- Random movement in all directions.
 +
psystem:setColors(1, 1, 1, 1, 1, 1, 1, 0) -- Fade to transparency.
 +
end
 +
 +
function love.draw()
 +
-- Draw the particle system at the center of the game window.
 +
love.graphics.draw(psystem, love.graphics.getWidth() * 0.5, love.graphics.getHeight() * 0.5)
 +
end
 +
 +
function love.update(dt)
 +
psystem:update(dt)
 +
end
 +
</source>
  
 
== See Also ==
 
== See Also ==
 
* [[parent::love.graphics]]
 
* [[parent::love.graphics]]
 +
* [[ParticleSystem:clone]]
 +
* [[Constructs::ParticleSystem]]
 
[[Category:Functions]]
 
[[Category:Functions]]
{{#set:Description=Creates a new ParticleSystem.}}
+
[[Sub-Category::Object Creation| ]]
 +
{{#set:Description=Creates a new [[ParticleSystem]].}}
 +
{{#set:Since=000}}
 
== Other Languages ==
 
== Other Languages ==
 
{{i18n|love.graphics.newParticleSystem}}
 
{{i18n|love.graphics.newParticleSystem}}

Latest revision as of 23:26, 7 March 2019

Creates a new ParticleSystem.

O.png This function can be slow if it is called repeatedly, such as from love.update or love.draw. If you need to use a specific resource often, create it once and store it somewhere it can be reused!  



Function

Synopsis

system = love.graphics.newParticleSystem( image, buffer )

Arguments

Image image
The image to use.
number buffer (1000)
The max number of particles at the same time.

Returns

ParticleSystem system
A new ParticleSystem.

Function

Available since LÖVE 0.9.1
This variant is not supported in earlier versions.

Synopsis

system = love.graphics.newParticleSystem( texture, buffer )

Arguments

Texture texture
The texture (Image or Canvas) to use.
number buffer (1000)
The max number of particles at the same time.

Returns

ParticleSystem system
A new ParticleSystem.

Examples

Creation and usage of a particle system

You can use the LÖVE logo as an example image.

function love.load()
	local img = love.graphics.newImage('logo.png')

	psystem = love.graphics.newParticleSystem(img, 32)
	psystem:setParticleLifetime(2, 5) -- Particles live at least 2s and at most 5s.
	psystem:setEmissionRate(5)
	psystem:setSizeVariation(1)
	psystem:setLinearAcceleration(-20, -20, 20, 20) -- Random movement in all directions.
	psystem:setColors(1, 1, 1, 1, 1, 1, 1, 0) -- Fade to transparency.
end

function love.draw()
	-- Draw the particle system at the center of the game window.
	love.graphics.draw(psystem, love.graphics.getWidth() * 0.5, love.graphics.getHeight() * 0.5)
end

function love.update(dt)
	psystem:update(dt)
end

See Also


Other Languages