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:
Nella funzione recalcPosition, lo script AS2 faceva una cosa furba per evitare che nella rotazione le icone si sovrapponessero, ed era questa: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; }
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!![]()

Rispondi quotando