hgeParticleSystemInfo Structure
hgeParticleSystemInfo structure is used to define all particle system parameters:
struct hgeParticleSystemInfo
{
hgeSprite* sprite;
int nEmission;
float fLifetime;
float fParticleLifeMin;
float fParticleLifeMax;
float fDirection;
float fSpread;
bool bRelative;
float fSpeedMin;
float fSpeedMax;
float fGravityMin;
float fGravityMax;
float fRadialAccelMin;
float fRadialAccelMax;
float fTangentialAccelMin;
float fTangentialAccelMax;
float fSizeStart;
float fSizeEnd;
float fSizeVar;
float fSpinStart;
float fSpinEnd;
float fSpinVar;
hgeColor colColorStart;
hgeColor colColorEnd;
float fColorVar;
float fAlphaVar;
};
Members
- sprite
- Pointer to a hgeSprite object to use for rendering particles.
Probably, the most useful sprite's parameters here are texture, blending mode and anchor point.
Besides the hgeSprite itself you may use here hgeAnimation or other classes derived from it.
- nEmission
- Number of particles to be emitted each second. Note that maximum number of particles
simultaneously allowed in one particle system is 500. If this number is exceeded,
new particles wouldn't be created until some of the current particles die. The number
of simultaneously alive aprticles depends on nEmission, fParticleLifeMin and fParticleLifeMax members.
- fLifetime
- The period of time during which the particle system should emit particles (in seconds).
When this amount of time is passed since call to the Fire method, the particles are no more emitted.
If = -1.0 the particle system keeps emitting particles until stopped manually.
- fParticleLifeMin
- The minimum period of lifetime for a specific particle in seconds.
- fParticleLifeMax
- The maximum period of lifetime for a specific particle in seconds.
- fDirection
- This is an angle in radians, defining the particles emitting direction.
- fSpread
- This is an angle in radians, defining the sector within which the particles
are emitted. For example, if it is 0.5, the emitted particles direction lies within
fDirection-0.5 and fDirection+0.5. If the fSpread is 2*pi,
the fDirection parameter becomes meaningless as the whole circle is covered.
- bRelative
- If true, the fDirection member is treated relatively to the current
particle system movement direction. If false, the fDirection member
is treated absolutely (0 means straight up).
- fSpeedMin
- The minimum starting speed for a specific particle in pixels per second.
- fSpeedMax
- The maximum starting speed for a specific particle in pixels per second.
- fGravityMin
- The minimum gravity value for a specific particle.
The gravity is basically just an acceleration along the y-axis.
- fGravityMax
- The maximum gravity value for a specific particle.
The gravity is basically just an acceleration along the y-axis.
- fRadialAccelMin
- The minimum value of the acceleration directed towards the particle system's center
for a specific particle.
- fRadialAccelMax
- The maximum value of the acceleration directed towards the particle system's center
for a specific particle.
- fTangentialAccelMin
- The minimum value of the acceleration directed perpendicularly to the radial
acceleration for a specific particle.
- fTangentialAccelMax
- The maximum value of the acceleration directed perpendicularly to the radial
acceleration for a specific particle.
- fSizeStart
- The starting scaling for a specific particle. 1.0 means the default sprite's size.
- fSizeEnd
- The ending scaling for a specific particle. 1.0 means the default sprite's size.
- fSizeVar
- The starting scaling variation from 0.0 (means no variation) to 1.0 (means
random variation from fSizeStart to fSizeEnd).
- fSpinStart
- The starting spin for a specific particle in radians.
- fSpinEnd
- The ending spin for a specific particle in radians.
- fSpinVar
- The starting spin variation from 0.0 (means no variation) to 1.0 (means
random variation from fSpinStart to fSpinEnd).
- colColorStart
- The starting color and opacity for a specific particle. See hgeColor class for details.
If colColorStart.r == -1 a special coloring mode is turned on: the particle system stops altering RGB of it's sprite
and uses the color already set in it (the same for all particles). Only the alpha component is changed for each particle.
- colColorEnd
- The ending color and opacity for a specific particle. See hgeColor class for details.
- fColorVar
- The starting color variation from 0.0 (means no variation) to 1.0 (means
random variation between the starting and ending colors).
- fAlphaVar
- The starting opacity variation from 0.0 (means no variation) to 1.0 (means
random variation between the starting and ending opacities).
Requirements
Header: hgeparticle.h
|