Ciao

Sto realizzando a scopo puramente ludico una carousel gallery... una di quelle gallery che girano per intenderci!

Sto cercando di realizzare il mio script AS3 partendo da uno script in AS2... e per ora me la cavo benino (considerato quanto ne so di actionscript... nn mi lamento!).

vi posto il codice:
codice:
var numOfItems:Number=10;
var radiusX:Number=300;
var radiusY:Number=80;
var centerX:Number=Math.round(stage.stageWidth/2);
var centerY:Number=Math.round(stage.stageHeight/2);
var speed:Number=0.05;

stage.addEventListener(MouseEvent.MOUSE_MOVE, changeSpeed);

for (var i:int=0; i<numOfItems; i++) {
	var item:Item = new Item();
	item.ang=i*(2*Math.PI)/numOfItems;
	item.addEventListener(Event.ENTER_FRAME, recalcPosition);
	addChild(item);
}

function recalcPosition(e:Event):void {
	// I set the position of each item
	e.target.x=radiusX*Math.cos(e.target.ang)+centerX;
	e.target.y=radiusY*Math.sin(e.target.ang)+centerY;
	// I update the increment
	e.target.ang+=speed;
	// I set the scaling factor
	var s:Number = e.target.y/(radiusY+centerY);
	e.target.scaleX=e.target.scaleY=s;
}

function changeSpeed(e:MouseEvent):void {
	speed = (mouseX-centerX)/4000;
}
Nella funzione recalcPosition, lo script AS2 faceva una cosa furba per evitare che nella rotazione le icone si sovrapponessero, ed era questa:
this.swapDepths(Math.round(this._xscale + 100));
ossia dava la profondità ad ogni mc a seconda del fattore di scale (più grande = più avanti), ma mi pare di capire che il concetto di depth in as3 si sia un po' ridimensionato... e ho trovato solo swapChild e swapChildAt, che presume l'interazione tra due child predefiniti.
Avrei trovato anche un setChildIndex, ma presume che io dia un indice di profondità solo entro un certo range... ossia 10 mc = indice massimo 9

Come posso uscirne? Ste gallery esistono anche in as3 per cui in qualche modo si deve fare... no??

Grazie mille!

PS: il codice ve lo regalo, se vi serve è tutto vostro!