Desuade Partigen has an extensive set of features that are built heavily upon the Desuade Motion Package. Take a look at some of the technical specifications for the package:
Meta
- Particle/Emitter Controllers (advanced keyframe-sequencing)
- Tweening or physics for every particle's property
- Full Package XML-Serialization
- Fully documented AS3 API
- Advanced Debugging
- Inheritance-based classes
- Extremely low (base) file size - 5k (standard feature set 20k)
- Based upon the Desuade Motion Package architecture
- Engine is Open Source and MIT Licensed
Controllers
- Advanced sequencing simulates timeline-based motion (similar to Flash CS4's Motion Editor)
- Used for both emitter and particle properties
- IDE features a point and click representation with drag and drop keyframes
- Random ranges of values with 'spread'
- KeyframeContainers that store unlimited keyframes (similar to standard timeline keyframes)
- Allows for different eases from keyframe-to-keyframe
- Relative length of tweens based on duration or particle life
- Generates (and is configurable by) XML
Emitters
- Creates and holds configuration for particles
- Can be created with either the IDE component or via ActionScript
- Emits particles automatically at a given rate with 'eps' property
- Can emit particles manually with 'emit()' method
- Each emission can have a 'burst' multiplier
- Angle and life properties that can be tweened and controlled
- Manages particles with Controllers, Renderers, & Pools - MVC style
- Start/stop controls
- Generates (and is configurable by) XML
Particles
- Created by and configured through emitters
- Can be any display object that inherits the Particle class
- Using ParticleGroups, particles get grouped together to increase performance
- Unlimited amount of properties - only configure properties you use
- Property values managed by ParticleControllers
- The 'spread' property of Keyframes allows for organic, natural, and random effects
- Particle objets in system memory completely managed by Pools
Renderers
- Handles the actual display of particles
- StandardRenderer - displays particles in the same was as standard DisplayObjects
- NullRenderer - no particles are displayed on the screen
- BitmapRenderer - particles are displayed through a Bitmap
- BitmapRenderer increases performance and has built in motion blur
- Renderers can be shared across multiple Emitters
Pools
- Handle the internal creation and storage of Particle objects in memory
- NullPool - this does no 'real' pooling and simply creates and destroys particles as used
- SweepPool - this removes Particle objects at a given interval
- Can be shared across multiple Emitters
Compatibility
- ActionScript 3 (AS3)
- Adobe Flash Player 9/10
- Adobe Flash CS3/CS4
- Papervision3D (PV3D)
- Desuade Motion Package
- Compiles "strict"
AS3 Syntax Examples
//emitters
var my_em:Emitter = new Emitter();
my_em.particle = MyParticleClass;
my_em.eps = 5;
my_em.life = 1;
my_em.start();
//controllers
my_em.controllers.particle.addTween("x");
my_em.controllers.particle.x.keyframes.begin.value = 0;
my_em.controllers.particle.x.keyframes.add(new Keyframe(.5, 0, 'easeOutQuad', 500));
my_em.controllers.particle.x.keyframes.end.value = 300;
//renderers
var my_nrenderer:NullRenderer = new NullRenderer();
my_em.renderer = my_nrenderer;
my_second_em.renderer = my_nrenderer;
//pools
var my_spool:SweepPool = new SweepPool(5000);
my_em.pool = my_spool;