1. package
  2. {
  3. import org.flintparticles.common.actions.*;
  4. import org.flintparticles.common.counters.*;
  5. import org.flintparticles.common.initializers.*;
  6. import org.flintparticles.threeD.actions.*;
  7. import org.flintparticles.threeD.away3d.initializers.A3DDisplayObjectClass;
  8. import org.flintparticles.threeD.emitters.Emitter3D;
  9. import org.flintparticles.threeD.geom.Point3D;
  10. import org.flintparticles.threeD.geom.Vector3D;
  11. import org.flintparticles.threeD.initializers.*;
  12. import org.flintparticles.threeD.zones.*;
  13. import org.flintparticles.common.displayObjects.RadialDot;
  14.  
  15. public class Fire extends Emitter3D
  16. {
  17. public function Fire()
  18. {
  19. counter = new Steady( 60 );
  20.  
  21. addInitializer( new Lifetime( 2, 3 ) );
  22. addInitializer( new Velocity( new DiscZone( new Point3D( 0, 0, 0 ), new Vector3D( 0, 1, 0 ), 40 ) ) );
  23. addInitializer( new Position( new DiscZone( new Point3D( 0, -50, -50 ), new Vector3D( 0, 1, 0 ), 3 ) ) );
  24. addInitializer( new A3DDisplayObjectClass( RadialDot,6 ) );
  25.  
  26. addAction( new Age( ) );
  27. addAction( new Move( ) );
  28. addAction( new LinearDrag( 1 ) );
  29. addAction( new Accelerate( new Vector3D( 0, 40, 0 ) ) );
  30. addAction( new ColorChange( 0xFFFFCC00, 0x00CC0000 ) );
  31. addAction( new ScaleImage( 1, 1.5 ) );
  32. addAction( new RotateToDirection() );
  33. }
  34. }
  35. }