Hola! estoy haciendo un proyecto en el que tengo varias botellas colocadas más o menos en fila en perspectiva hacia el fondo (simulando las 3 dimensiones, en donde la primera está enfocada y las demás progresivamente desenfocadas cuanto más lejanas (como en una foto real) Lo que quiero es que al hacer rollover sobre cada una de ellas, la seleccionada se enfoque y las demás mantengan la progresión de desenfoque según estén más lejos o más cerca...

Esto lo he logrado con este código modificado a partir de este tutorial que encontré:

Tutorial: http://flashexplained.com/actionscript/applying-the-blur-filter-to-buttons-via-actionscript/

Código modificado:

Código :

import flash.filters.BlurFilter;

var blurred1:BlurFilter = new BlurFilter(2, 2, 4);
var blurred2:BlurFilter = new BlurFilter(4, 4, 4);
var blurred3:BlurFilter = new BlurFilter(6, 6, 4);

var storedBlur1:Array = [blurred1];
var storedBlur2:Array = [blurred2];
var storedBlur3:Array = [blurred3];


link1_btn.filters = storedBlur3;
link2_btn.filters = storedBlur2;
link3_btn.filters = storedBlur1;

link1_btn.onRollOver = function() {
this.filters = null;
link2_btn.filters = storedBlur1;
link3_btn.filters = storedBlur2;
link4_btn.filters = storedBlur3;

}

link2_btn.onRollOver = function() {
this.filters = null;
link1_btn.filters = storedBlur1;
link3_btn.filters = storedBlur1;
link4_btn.filters = storedBlur2;
}

link3_btn.onRollOver = function() {
this.filters = null;
link1_btn.filters = storedBlur2;
link2_btn.filters = storedBlur1;
link4_btn.filters = storedBlur1;
}

link4_btn.onRollOver = function() {
this.filters = null;
link1_btn.filters = storedBlur3;
link2_btn.filters = storedBlur2;
link3_btn.filters = storedBlur1;
}

link4_btn.onRollOut = function() {
link4_btn.filters = null;
link1_btn.filters = storedBlur3;
link2_btn.filters = storedBlur2;
link3_btn.filters = storedBlur1;
}

link3_btn.onRollOut = function() {
link4_btn.filters = null;
link1_btn.filters = storedBlur3;
link2_btn.filters = storedBlur2;
link3_btn.filters = storedBlur1;
}

link2_btn.onRollOut = function() {
link4_btn.filters = null;
link1_btn.filters = storedBlur3;
link2_btn.filters = storedBlur2;
link3_btn.filters = storedBlur1;
}

link1_btn.onRollOut = function() {
link4_btn.filters = null;
link1_btn.filters = storedBlur3;
link2_btn.filters = storedBlur2;
link3_btn.filters = storedBlur1;
}


(es posible que lo haya hecho complicado, pero no controlo mucho de AS y he usado mi lógica y ha funcionado hasta aquí)

Podeis bajar el swf de aquí para ver el efecto.

Lo que hice fue crear varias variables de enfoque y aplicarlas a los 4 objetos según cual de ellos estuviese "enfocado".

Ahora lo que necesito es que este cambio no sea tan brusco, sinó con algo de Tween, en cada una de las botellas, lo cual complica mucho todo por que cada botella tiene cuatro estados posibles de enfoque... Lo que pasa es que ya no sé por donde seguir, he mirado tutoriales, pero ninguno aborda el uso que quiero darle y me pierdo.

Alguna idea?

Salud