Salve gente,
sto migrando da As2 ad As3 non senza problemi.

Sto creando un tool grafico con un'area di lavoro e un menù con delle componenti da trascinare nell'area di lavoro (azione che causa la creazione di un oggetto nell'area di lavoro).
Il problema è che quando cerco di creare più oggetti trascinandoli nell'area di lavoro, il precendente viene sostituito dall'ultimo inserito e non capisco perchè. In as2 non succedeva...
Vi posto la parte di codice che non va:

L'oggetto attività appartenente alla classe Attivita.as
codice:
package{
	
	import flash.display.*;
	import flash.events.*;
	
	public class Attivita extends MovieClip {
	
		private var links:Array;
		private var posX,posY;
		private var indexX,indexY;
		private var thisClip,clipPadre;
		private var process:clipAttivita;
		static var cont = 0;
		
		// COSTRUTTORE
		public function Attivita(){
			process = new clipAttivita();
			process.x = 0;
			process.y = 0;
			addChild(process);
			addEventListener(Event.ADDED_TO_STAGE,creaOggetto);
}

private function creaOggetto(){
.......
}
}
clipAttivita è semplicemente una clip in libreria

Poi sul primo fotogramma della timeline del progetto:
codice:
var clip:Array = new Array();

.....

// CREO LA COMPONENTE DELLA TOOL
var processA:ProcessA = new ProcessA();
processA.x = 900;
processA.y = 20;

addChild(processA);

processA.addEventListener(MouseEvent.MOUSE_DOWN,_onPress);
processA.addEventListener(MouseEvent.MOUSE_OVER,_onRollOver);
processA.addEventListener(MouseEvent.MOUSE_OUT,_onRollOut);

function _onPress(e:MouseEvent){
	trace("onPress");
	
}

function _onRollOver(e:MouseEvent){
	trace("onRollOver");
	processA.gotoAndStop("rollOver");
	e.target.stage.removeEventListener(MouseEvent.MOUSE_UP, _onReleaseOutside);
}

function _onRollOut(e:MouseEvent){
	trace("onRollOut");
	processA.gotoAndStop("rollOut");
	if(e.buttonDown){
		e.target.stage.addEventListener(MouseEvent.MOUSE_UP,_onReleaseOutside);
	}
}

function _onReleaseOutside(e:MouseEvent){
	
	clip.push(new Attivita());
	stage.addChild(clip[clip.length-1]);

}
nella funzione _onReleaseOutside, che viene richiamata quando si rilascia il mouse nell'area di lavoro dopo il trascinamento della componente, creo più oggetti Attivita, li attacco allo stage e li inserisco nell'array. Il problema è che l'ultimo oggetto sostituisce il precendente mentre io vorrei restassero tutti nell'area di lavoro.
Qual'è il problema??


Una precisazione: se la funzione _onRollOutside la riscrivo così....
codice:
function _onRollOutside(){

	stage.addChild(new Attivita());
       stage.addChild(new Attivita());
}
... sullo stage ho due oggetti.