Salve a tutti!

Sto usando questa classe scritta tempo fa da Andr3a per la rotazione elissoide di movies con effetto prospettiva:

codice:
function ClipRotation(path) {
	
	function __firstClipPosition() {
		for(var a = 0, b = __clips.length; a < b; a++)
			__clips[a].scost = ((360 / b) / 2) + ((360 / b) * a);
		__manager(1);
	}
	
	function __manager(acceleration) 
	{
		for(var a = 0, b = __clips.length, sin = 0; a < b; a++) 
		{
			__clips[a].scost = __clips[a].scost + acceleration;
			sin =  __m.sin(__clips[a].scost * __m.PI / 180);
			__clips[a].swapDepths(__m.sin(__clips[a].scost * __m.PI / 180) * 20);
			__clips[a]._x = (__m.cos(__clips[a].scost * __m.PI / 180) * __wx) + __cx;	
			__clips[a]._y = (sin * __wy) + __cy;
			__clips[a]._xscale = __clips[a]._yscale = 100 - __minscale + __minscale * sin;
		}
	}
	
	function __loopManager() 
	{
		//if(_xmouse > -192 && _xmouse < 245)
		//{
			var acceleration = (__maxspeed * (path._xmouse - __cx)) / __wx;
			if(acceleration > __maxspeed) acceleration = __maxspeed;
			else if(acceleration < -__maxspeed) acceleration = -__maxspeed;
			__manager(acceleration);
		//}
	}
	
	this.setClips = function(clips) 
	{
		__clips = clips;
		__firstClipPosition();
	}
	
	this.setProperties = function(maxspeed, minscale, cx, cy, wx, wy) 
	{
		__maxspeed = maxspeed, 
		__minscale = minscale,
		__cx = cx, __cy = cy, 
		__wx = wx,	__wy = wy;
	}
	
	this.start = function() 
	{
		if(__i > 0)
			clearInterval(__i);
		__i = setInterval(__loopManager, 15);
	}
	
	this.stop = function() 
	{
		clearInterval(__i);
		__i = 0;
	}
	
	var	__maxspeed = 5, 
		__minscale = 40,
		__cx = 150, __cy = 50, 
		__wx = 100,	__wy = 30, 
		__i = 0, 
		__clips = [],
		__m = Math;
}

var CR = new ClipRotation(this);
serie = new Array();

for(i=0;i<_global.n_porte;i++)
{
	nmc.duplicateMovieClip("nmc"+i, i);
	this['nmc'+i].descrizione = _global['descrizione'+i];
	this['nmc'+i].img.loadMovie(_global['img'+i]);
	this['nmc'+i].nome.text  = _global['nome'+i];
	serie[i] = this["nmc"+i];
}

CR.setClips(serie);
CR.setProperties(1, 30, 0, -50, 25*_global.n_porte, 80);
CR.start();
nmc._visible = false;
stop();
Come potete vedere prendo la classe e le do in ingresso un array di clips che creo dinamicamente in base a dei dati che tiro fuori da un database.

Il mio problema è che cambiando categoria di prodotti, cambia l'oggetto e quindi vorrei resettare e ricreare l'oggetto coi nuovi movies.

Al momento mando indietro di in frame, recupero i dati dal db e poi torno al codice ch evi ho postato sopra.

Il problema è che se i prodotti della prima categoria sono 9 (e va tutto abene) quando passo ad una categoria con 13 gli ultimi 4 (13 - 9) non seguono gli altri ma girano a casaccio.

Credo che il problema sia che l'oggetto non viene distrutto e ricreato ma solo aggiornato. Sapreste dirmi un modo per RESETTARE totalment el'oggetto (boh...magari un distruttore fatto bene).

Grazie