package {
import flash.display.MovieClip;
import flash.events.Event;
import idv.cjcat.stardust.common.actions.*;
import idv.cjcat.stardust.common.clocks.*;
import idv.cjcat.stardust.common.initializers.*;
import idv.cjcat.stardust.common.math.*;
import idv.cjcat.stardust.twoD.actions.*;
import idv.cjcat.stardust.twoD.emitters.*;
import idv.cjcat.stardust.twoD.initializers.*;
import idv.cjcat.stardust.twoD.renderers.*;
import idv.cjcat.stardust.twoD.zones.*;
public class Esempio_Stardust extends MovieClip {
public function Esempio_Stardust() {
// creiamo l'emettitore, che creerà una particella alla volta
var emettitore:Emitter2D=new Emitter2D(new SteadyClock(1));
// creiamo il contenitore per le particelle e lo associamo ad un renderer
var sprite:Sprite = new Sprite();
addChild(sprite);
var renderer

isplayObjectRenderer=new DisplayObjectRenderer(sprite);
// impostiamo le proprietà della particella
var displayObjectClass

isplayObjectClass=new DisplayObjectClass(p1);
var position:Position=new Position(new Line(0,0,300,0));
var velocity:Velocity=new Velocity(new SinglePoint(0,5));
emettitore.addInitializer(displayObjectClass);
emettitore.addInitializer(position);
emettitore.addInitializer(velocity);
//AZIONI - movimento
var move:Move = new Move();
//AZIONI - aggiungiamo un'accelerazione orizzontale casuale
var drift:RandomDrift = new RandomDrift();
drift.randomX=new UniformRandom(0.1,0);
// aggiungi azioni
emettitore.addAction(move);
emettitore.addAction(drift);
// lista enter frame
addEventListener(Event.ENTER_FRAME, emettitore.step);
//zona morta
var deathZone

eathZone=new DeathZone(new RectZone(0,0,300,300),true);
emettitore.addAction(deathZone);
renderer.addEmitter(emettitore);
}
}
}