Salve a tutti,
ho un problema con un'animazione in as2.
Ho una galleria di immagini che scorre ruotando e fin qui tutto ok, il mio problema è che non riesco a diminuire la velocità dello scorrimento e non riesco ad eliminare quel fastidioso effetto a scatti. Ho provato anche ad aumentare la velocità dei frame ma non cambia nulla.

Per farvi comprendere meglio il problema questo è il link della gallery:
http://www.yescomgroup.com/compagnia...gallery_w.html

Mentre lo script usato è il seguente:

import mx.transitions.Tween;
import mx.transitions.easing.*;
data_holder.swapDepths(800);
var Centerx:Number = Stage.width/2;
var Centery:Number = Stage.height/2-70;
var tween_type= Elastic.easeOut;
var h:Number = 0;//height of the circle
var w:Number;//the width of the circle
var group:Array = [];//items container
var pics:Array = new Array();//item`s data container
var theta_angle:Number = 0;//the angle of rotation flip the items
var xl:XML = new XML();
xl.ignoreWhite = true;
xl.onLoad = function(ok) {
if (ok) {
xdata = this.firstChild;
for (var k = 0; k<xdata.childNodes.length; k++) {
//fill the array of item`s data
pics.push({path:xdata.childNodes[k].attributes.path, title:xdata.childNodes[k].attributes.title, desc:xdata.childNodes[k].attributes.desc});
}
//calculate the width of circle to automatic resized
//by the increase or decrease the number of images
w = pics.length*300;
run();
}
};
xl.load("gallery.xml");
function run() {
for (var i:Number = 0; i<pics.length; i++) {
var itm:MovieClip = _root.attachMovie("items", "item"+i, i, {_x:Centerx+w/2*Math.sin(Math.PI*3*i/pics.length), _y:Centery+h/2*Math.cos(Math.PI*2*i/pics.length)});
itm.img_1.inner2.loadMovie("images/"+pics[i].path);
itm.img_2.inner3.loadMovie("images/"+pics[i].path);
preload(itm);
group.push(itm);

}
moveCircle();//the main function who make items move
}
function preload(mc){
mc.onEnterFrame = function(){
this.img_1.inner2._alpha = 0;//make the mc that hold the movieclip change alpha to 0
this.img_1.inner3._alpha = 0;//make the mc that hold the reflection movieclip change alpha to 0
var tb = this.img_1.inner2.getBytesTotal();
var lb = this.img_1.inner2.getBytesLoaded();
if(tb>10 && lb>=tb){
this.loaders._visible = false;
delete this.onEnterFrame;
var tw_m1:Tween = new Tween(this.img_1.inner2, "_alpha", tween_type, 0, 800, 2, true);//make it fade in
var tw_m2:Tween = new Tween(this.img_1.inner3, "_alpha", tween_type, 0, 800, 2, true);//make it fade in
}
}
}
function moveCircle() {
_root.onEnterFrame = function() {
theta_angle += 0.02*Math.PI*(_root._xmouse-Stage.width/2)/Stage.width;
theta_angle = (theta_angle-Math.PI)%(1*Math.PI)+Math.PI;
theta_angle = (theta_angle+Math.PI)%(1*Math.PI)-Math.PI;
h = (_root._ymouse-Stage.height/2)*0.2;
for (var i in group) {
var itm = group[i];
var t:Number = Math.PI*2*i/pics.length+theta_angle;
t = (t-Math.PI)%(2*Math.PI)+Math.PI;
t = (t+Math.PI)%(2*Math.PI)-Math.PI;
itm._x = Centerx+w/2*Math.sin(t);
itm._y = Centery+h/2*Math.cos(t);
itm._xscale = itm._yscale=300+100*Math.cos(t);
itm._xscale *= Math.cos(t);
t = 1-Math.abs(t)/Math.PI;
itm.swapDepths(Math.round(t*2*pics.length));
itm.title = pics[i].title;//store the title
itm.desc = pics[i].desc;//store the description
itm.xp = itm._x;//store the x position
itm.yp = itm._y;//store the y position
itm.xs = itm._xscale;//store the xscale
itm.ys = itm._yscale;//store the yscale
itm.swp = Math.round(t*10*pics.length);//store the depth
itm.img_1.inner2.onRelease = released;
}
}
}
//on item released
function released() {
for (var i = 0; i<pics.length; i++) {
var itm:MovieClip = _root["item"+i];
delete itm.img_1.inner2.onRelease;
delete _root.onEnterFrame;
if (itm != this._parent._parent) {//its not the choise
var tw:Tween = new Tween(itm, "_xscale", tween_type, itm._xscale, itm._xscale, 0, true);
var tw2:Tween = new Tween(itm, "_yscale", tween_type, itm._yscale, itm._yscale, 0, true);
var tw3:Tween = new Tween(itm, "_alpha", tween_type, 100, 0, 1, true);
} else {
itm.swapDepths(200);
data_holder.title.text = itm.title;
data_holder.description.text = itm.desc;
var tw:Tween = new Tween(itm, "_xscale", tween_type, itm._xscale, 455, 1, true);
var tw2:Tween = new Tween(itm, "_yscale", tween_type, itm._yscale, 500, 1, true);
var tw3:Tween = new Tween(itm, "_x", tween_type, itm._x, 455, 0, true);
var tw4:Tween = new Tween(titm, "_y", tween_type, itm._y, 559, 0, true);
var tw5:Tween = new Tween(data_holder,"_y",tween_type,-100,70,1,true);
var mc_itm:Object = this;
tw.onMotionStopped = function() {
mc_itm.onRelease = unReleased;
}
}
}
}
//on item unReleased
function unReleased() {
delete this.img_1.inner2.onRelease;
var tw:Tween = new Tween(data_holder,"_y",Strong.easeOut,0,-500,1,true);
for (var i = 0; i<pics.length; i++) {
var itm:MovieClip = _root["item"+i];
if (itm != this._parent._parent) {
var tw:Tween = new Tween(itm, "_xscale", tween_type, itm._xscale, itm._xscale, 2, true);
var tw2:Tween = new Tween(itm, "_yscale", tween_type, itm._yscale, itm._yscale, 2, true);
var tw3:Tween = new Tween(itm, "_alpha", tween_type, 0, 100, 2, true);
} else {
itm.swapDepths(itm.swp);
var tw:Tween = new Tween(itm, "_xscale", tween_type, itm._xscale, itm.xs, 2, true);
var tw2:Tween = new Tween(itm, "_yscale", tween_type, itm._yscale, itm.ys, 2, true);
var tw3:Tween = new Tween(itm, "_x", tween_type, itm._x, itm.xp, 2, true);
var tw4:Tween = new Tween(itm, "_y", tween_type, itm._y, itm.yp, 2, true);
tw.onMotionStopped = function() {
for (var i = 0; i<pics.length; i++) {
var itm:MovieClip = _root["item"+i];
moveCircle();
itm.img_1.inner2.onRelease = released;

}
}
}
}
}


Ho provato (a caso) a cambiare un sacco di parametri ma non succede nulla
Spero possiate darmi un aiuto immediato....è abbastanza urgente!!