Problema con efecto transición
Hola a todos,
Estoy intentando seguir este tutorial: Tutorial
El cuál me ha causado varios problemas, poco a poco se van resolviendo, pero tengo uno que no consigo dar la solución. Veréis, en la galería, se hace una transición de color al entrar cada ampliación de la imagen, la parte del code dónde se encuentra dicho efecto es ésta:
grandeListener.onLoadStart = function(target_mc:MovieClip) {
// aplico una transformación de color que deja el clip
// tintado de blanco
myColor = new Color(target_mc);
myColorTransform = new Object();
myColorTransform = {ra:100, rb:255, ga:100, gb:255, ba:100, bb:255, aa:100, ab:0};
myColor.setTransform(myColorTransform);
};
Que se encuentra dentro de la función "VerFotoGrande", la cuál se encarga de coger la ruta de la foto grande correspondiente a la miniatura clikeada y mostrarla, y siempre la muestra después de dicha transición, arriba indicada en el code.
Pues bien, el PROBLEMA está, en que tengo un index, el cuál carga dos galerías externas (swf) con loadMovie, las dos son iguales (las del tutorial) la única variación es que cargan fotos diferentes (es decir, las rutas), pero si entro en una galería desde el index y mientras se está reproduciendo la transición de color que menciono, entro en la otra galería, dicha transición da un error (de la galería actual), que hace que la siguiente foto ampliada llamada, (siendo de otra galería), parpadee el efecto, y no me cargue la foto correctamente, se muestra durante un segundo y se desaparece.
He probado mil cosas y no tengo ni idea de cómo solucionarlo.
Si quito del código, la parte que os he mostrado de él, la galería se vería sin el efecto de transición, queda más brusco, pero se elimina el problema. Pero me gustaría dejar dicho efecto pues visualmente es más atractivo.
Al final de todo el code, está esta parte, que tb tiene que ver con el efecto, pero no la acabo de entender, os lo pongo por si ayuda a resolver el problema:
// con estas rutinas hacemos la transición de color desde el blanco
var indiceColor:Number = 255;
intervaloColor = setInterval(cambiarColor, 10);
function cambiarColor() {
myColorTransform = {ra:100, rb:indiceColor, ga:100, gb:indiceColor, ba:100, bb:indiceColor, aa:100, ab:0};
myColor.setTransform(myColorTransform);
indiceColor -= 2;
if (indiceColor == -1) {
clearInterval(intervaloColor);
}
}
Estoy en vuestras expertas manos, pq yo ya he probado de todo lo que mi conocimiento me permite.
Mil gracias por adelantado.