Starling Extension: Particle System
The Starling Particle System classes provide an easy way to display particle systems from within the Starling Framework. That way, adding special effects like explosions, smoke, snow, fire, etc. is very easy to do.
The extension consists of three classes:
Particle: stores the state of a particle, like its position and color
ParticleSystem: the base class for particle systems. Implements a very simple particle movement. To create a custom particle system, extend this class and override the methods
PDParticleSystem: a particle system subclass that can display particle systems created with the Particle Designer from 71squared.
Which version to download depends on the Starling version you are using:
- If you work with a release version of Starling, download the Particle System with the equivalent tag (Starling 1.1 -> Particle System 1.1).
- If you work with the latest development version of Starling, download the head revision of the Particle System.
After downloading, you will find the three classes described above in the
src-directory. You can either copy them directly to your Starling-powered application, or you add the source path to your FlexBuilder project.
demo-directory contains a sample project. To compile it, add a reference to the Starling library and add the source directory that contains the particle system classes.
The project contains 4 sample configurations. Switch between configurations in
hitting the space bar.
DisplayObject and behaves accordingly. You can add it as a child to the stage or any other container. As usual, you have to add it to a juggler (or call its
advanceTime method once per frame) to animate it.
// create particle system mParticleSystem = new PDParticleSystem(psConfig, psTexture); mParticleSystem.emitterX = 320; mParticleSystem.emitterY = 240; // add it to the stage and the juggler addChild(mParticleSystem); Starling.juggler.add(mParticleSystem); // start emitting particles mParticleSystem.start(); // stop emitting particles mParticleSystem.stop(); // Create a rectangle zone emitter with 100 width, 50 height and 45 rotation var zone:RectangleZone = new RectangleZone(100,50); zone.x = 320; zone.y = 240; zone.rotation = Math.PI/4; mParticleSystem.emitterZone=zone;
You can find more information in the Starling Wiki.