Código :
//Este es un script que enfoca progresivamente 4 clips que
// hay en el escenario, en un orden aleatorio cada vez.
//Los clips deben aparecer desenfocados al iniciar.
//Funciona perfectamente, pero cuando intento "empaquetarlo" en
// una funcion, para iniarlo con un boton deja de funcionar y no se por que...
//He anulado las lineas que no funcionan y que deberian hacerlo.
import flash.filters.*;
filtroDesenfoque = new BlurFilter(25, 250, 1);
//function reDesenfoque() {
function arrayCuadrados() {
c = 4;
cuadrados = new Array();
for (obj in _root) {
if (_root[obj] instanceof MovieClip && _root[obj]._name != "reserved" && _root[obj]._name != "focusManager" && _root[obj]._name != "boton_cp") {
_root["arrayTemporal"+c] = _root[obj].filters;
trace(c);
_root["arrayTemporal"+c].push(filtroDesenfoque);
_root[obj].filters = _root["arrayTemporal"+c];
cuadrados.push(_root[obj]);
c--;
}
}
cuadrados.reverse();
trace("CUADRADOS"+"\n"+cuadrados);
}
arrayCuadrados();
yaElegidos = new Array();
llamadas = 0;
function listaCuadrados(x) {
longitudActual = yaElegidos.length;
for (var i = 0; yaElegidos.length<=longitudActual; i++) {
x = Math.floor((Math.random()*cuadrados.length)+1);
trace("x="+x);
laTiene = false;
for (obj in yaElegidos) {
if (x == yaElegidos[obj]) {
laTiene = true;
break;
}
}
if (!laTiene) {
llamadas++;
yaElegidos.push(x);
trace("yaElegidos"+yaElegidos);
cuadrados[x-1].texto_txt.text = llamadas;
filtros(_root["arrayTemporal"+x], cuadrados[x-1]);
clearInterval(ID);
}
}
if (llamadas<cuadrados.length) {
ID = setInterval(_root, "listaCuadrados", 100, x);
}
}
function filtros(arrayTemp, clipDestino) {
trace("fClip"+clipDestino);
trace("fArray"+arrayTemp[0]);
trace(newline);
clipDestino.onEnterFrame = function() {
arrayTemp[0].blurX -= 10;
arrayTemp[0].blurY -= 10;
clipDestino.filters = arrayTemp;
if (arrayTemp[0].blurX == 0 && arrayTemp[0].blurY == 0) {
delete clipDestino.onEnterFrame;
}
};
}
ID = setInterval(_root, "listaCuadrados", 100, x);
//}
//reDesenfoque();
//Aqui va el codigo del boton
listenerBoton_cp = new Object();
boton_cp.label = "re/Desenfoque";
listenerBoton_cp.click = function(evtObj) {
reDesenfoque();
};
boton_cp.addEventListener("click", listenerBoton_cp);
