Desuade Partigen 2

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;