ParticleSystem

A ParticleSystem can be used to create particle effects like fire or smoke.

The particle system has to be created using love.graphics.newParticleSystem. Just like any other Drawable it can be drawn to the screen using love.graphics.draw. You also have to update it in the update callback to see any changes in the particles emitted.

The particle system won't create any particles unless you call setParticleLifetime and setEmissionRate.

Constructors

love.graphics.newParticleSystem Creates a new ParticleSystem.

Functions

Object:type Gets the type of the object as a string.
Object:typeOf Checks whether an object is of a certain type.
ParticleSystem:clone Creates an identical copy of the ParticleSystem in the stopped state. Added since 0.9.1
ParticleSystem:count Gets the amount of particles that are currently in the system. Removed in 0.9.0
ParticleSystem:emit Emits a burst of particles from the particle emitter. Added since 0.9.0
ParticleSystem:getAreaSpread Gets the area-based spawn parameters for the particles. Added since 0.9.0
ParticleSystem:getBufferSize Gets the maximum number of particles the ParticleSystem can have at once. Added since 0.9.0
ParticleSystem:getCount Gets the number of particles that are currently in the system. Added since 0.9.0
ParticleSystem:getImage Gets the image used for the particles. Added since 0.9.0
ParticleSystem:getInsertMode Gets the mode used when the ParticleSystem adds new particles. Added since 0.9.0
ParticleSystem:getLinearDamping Gets the amount of linear damping (constant deceleration) for particles. Added since 0.9.2
ParticleSystem:getPosition Gets the position of the emitter.
ParticleSystem:getRadialAcceleration Gets the radial acceleration (away from the emitter). Added since 0.9.0
ParticleSystem:getTexture Gets the texture (Image or Canvas) used for the particles. Added since 0.9.1
ParticleSystem:getX Gets the x-coordinate of the particle emitter's position. Removed in 0.9.0
ParticleSystem:getY Gets the y-coordinate of the particle emitter's position. Removed in 0.9.0
ParticleSystem:hasRelativeRotation Gets whether particle angles and rotations are relative to their velocities. Added since 0.9.1
ParticleSystem:isActive Checks whether the particle system is actively emitting particles.
ParticleSystem:isEmpty Checks whether the particle system is empty of particles. Removed in 0.9.0
ParticleSystem:isFull Checks whether the particle system is full of particles. Removed in 0.9.0
ParticleSystem:isPaused Checks whether the particle system is paused. Added since 0.9.0
ParticleSystem:isStopped Checks whether the particle system is stopped. Added since 0.9.0
ParticleSystem:moveTo Moves the position of the emitter. Added since 0.9.1
ParticleSystem:setAreaSpread Sets area-based spawn parameters for the particles. Added since 0.9.0
ParticleSystem:setBufferSize Sets the size of the buffer (the max allowed amount of particles in the system).
ParticleSystem:setEmissionRate Sets the amount of particles emitted per second.
ParticleSystem:setEmitterLifetime Sets how long the particle system should emit particles Added since 0.9.0
ParticleSystem:setGravity Sets the gravity affecting the particles (acceleration along the y-axis). Removed in 0.9.0
ParticleSystem:setImage Sets the image to be used for the particles. Added since 0.9.0
ParticleSystem:setInsertMode Sets the mode to use when the ParticleSystem adds new particles. Added since 0.9.0
ParticleSystem:setLifetime Sets how long the particle system should emit particles (if -1 then it emits particles forever). Removed in 0.9.0
ParticleSystem:setLinearAcceleration Sets the linear acceleration (acceleration along the x and y axes) for particles. Added since 0.9.0
ParticleSystem:setLinearDamping Sets the amount of linear damping (constant deceleration) for particles. Added since 0.9.2
ParticleSystem:setParticleLife Sets the life of the particles. Removed in 0.9.0
ParticleSystem:setParticleLifetime Sets the lifetime of the particles. Added since 0.9.0
ParticleSystem:setPosition Sets the position of the emitter.
ParticleSystem:setQuads Sets a series of Quads to use for the particle sprites. Added since 0.9.2
ParticleSystem:setRelativeRotation Sets whether particle angles and rotations are relative to their velocities. Added since 0.9.1
ParticleSystem:setSize Sets the size of the particle (1.0 being normal size). Removed in 0.8.0
ParticleSystem:setSizeVariation Sets the amount of size variation.
ParticleSystem:setSizes Sets the sizes of the particle over its lifetime. Added since 0.8.0
ParticleSystem:setSprite Sets the image which is to be emitted. Removed in 0.9.0
ParticleSystem:setTexture Sets the texture (Image or Canvas) to be used for the particles. Added since 0.9.1
ParticleSystem:update Updates the particle system; moving, creating and killing particles.

Enums

AreaSpreadDistribution Types of particle area spread distribution. Added since 0.9.0
ParticleInsertMode How newly created particles are added to the ParticleSystem. Added since 0.9.0

Supertypes

See Also


Particle editors:

  • https://love2d.org/forums/viewtopic.php?f=4&t=2110
  • https://love2d.org/forums/viewtopic.php?f=5&t=32954
  • https://love2d.org/forums/viewtopic.php?f=5&t=76986