Difference between revisions of "Particles:addParticles"

From GiderosMobile
m
m (Text replacement - "<source" to "<syntaxhighlight")
Line 5: Line 5:
 
=== Description ===
 
=== Description ===
 
Adds a single particle (short form) or several ones (long form) to a particle system.
 
Adds a single particle (short form) or several ones (long form) to a particle system.
<source lang="lua">
+
<syntaxhighlight lang="lua">
 
(number or table) = Particles:addParticles(particles)
 
(number or table) = Particles:addParticles(particles)
 
</source>
 
</source>
Line 37: Line 37:
  
 
=== Example ===
 
=== Example ===
<source lang="lua">
+
<syntaxhighlight lang="lua">
 
local stars = Particles.new()
 
local stars = Particles.new()
 
stars:setPosition(64, 64)
 
stars:setPosition(64, 64)

Revision as of 14:30, 13 July 2023

Available since: Gideros 2016.06
Class: Particles

Description

Adds a single particle (short form) or several ones (long form) to a particle system. <syntaxhighlight lang="lua"> (number or table) = Particles:addParticles(particles) </source>

Short form (single particle): particles:addParticles(x,y,size,angle,ttl)

Extended form: particles:addParticles{particleDesc1,particleDesc2,...,particleDescN}

where particleDescX is a table describing a particle to be added. This table can contain the following parameters:

  • x,y: particle position
  • size: particle size
  • angle: particle orientation
  • color: particle color
  • alpha: particle alpha
  • ttl: time to live, number of frames this particle will stay on screen
  • tag: tag associated with this particle
  • speedX, speedY, speedAngular, speedGrowth: amount added to x, y, angle and size at the beginning of each frame
  • decay, decayAngular, decayGrowth, decayAlpha: factor applied to speedX and speedY, speedAngular, speedGrowth and alpha at the beginning of each frame. A value below 1 will substract and a value above 1 will add to the current value.
  • z, speedZ: z particle position and associated speed (since Gideros 2022.5)
  • acceleration, accelerationAngular, accelerationGrowth, accelerationAlpha: amount added each frame to associated speed values (since Gideros 2022.5)
  • extra: additional float value available in the shader (since Gideros 2022.5)


Since Gideros 2022.5, decay and acceleration can be vectors, allowing to specify different values for x,y and z components.

Parameters

particles: (table or arguments) table for multiple particles or arguments for single particle

Return values

Returns (number or table) index or table with indexes of added particles

Example

<syntaxhighlight lang="lua"> local stars = Particles.new() stars:setPosition(64, 64) stage:addChild(stars) stage:addEventListener(Event.ENTER_FRAME, function() stars:addParticles({ {x=math.random(4*64),y=math.random(5*64),size=math.random(1,30),color=0xD9B589,ttl=1*60,speedX=0,speedY=0}, {x=math.random(2*64),y=math.random(5*64),size=math.random(1,30),color=0xffff00,ttl=30*60,speedX=1,speedY=0}, }) end) </source>