Comunidad de diseño web y desarrollo en internet online

Cargar clips enfocándolos

Citar            
MensajeEscrito el 25 Sep 2006 07:15 pm
Hola,

con el uso progresivo de los efectos de clips del Flash 8 he podido ver que es cada vez más la gente que al cargar sus clips externos los desenfoca y luego progresivamente los va enfocando. Esto supongo que se hace con la clase BlurFilter pero por mucho que he probado no consigo dar en la clave para hacer lo que quiero. No se si me pillareis. Se trata de cargar un clip y cuando este esté cargado mostrarlo pero con el desenfoque a tope e ir disminuyendo el desenfoque hasta verlo claramente. La técnica que he probado yo es con un "

Código :

onEnterFrame
" y dentro crear un objeto BlurFilter con el desefoque que corresponde a una variable que voy decrementando pero no se si es que el desenfoque no funciona como yo quiero en un enterframe o es que no lo hago bien pero siempre se aplica el mismo desenfoque. Por supuesto, cada vez que creo el objeto se lo aplico al clip con "

Código :

clip.filters = .......
"

Supongo que debe haber cosillas ya hechas por ahí pero no veo nada.

Un saludo y gracias

Por tipopleita

5 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 27 Sep 2006 10:25 am

Código :

//CREA UN CLIP LLAMADO cuadrado_mc
import flash.filters.*;
filtroDesenfoque = new BlurFilter(250, 250, 3);
arrayTemporal = cuadrado_mc.filters;
arrayTemporal.push(filtroDesenfoque);
cuadrado_mc.filters = arrayTemporal;
cuadrado_mc.onEnterFrame = function() {
   trace(arrayTemporal[0].blurX);
   arrayTemporal[0].blurX -= 25;
   arrayTemporal[0].blurY -= 25;
   cuadrado_mc.filters = arrayTemporal;
   if (arrayTemporal[0].blurX == 0 || arrayTemporal[0].blurY == 0) {
      delete this.onEnterFrame;
   }
};

Por oxk4r

56 de clabLevel



 

Orense·España

firefox
Citar            
MensajeEscrito el 28 Sep 2006 02:58 pm
Y esto se puede hacer de forma aleatoria ?? me refiero a que vayan cargando y enfocandose varios MC uno despues de otro.

Hice una pregunta muy parecida con anterioridad en el foro, pero por alguna razón no me está dando los resultados esperados, gracias.

Por kiltroconpulgas

96 de clabLevel



 

safari
Citar            
MensajeEscrito el 07 Oct 2006 10:41 am

Código :

//En el escenario hay 4 instancias de un clip llamadas cuadrado1_mc, cuadrado2_mc ...
//Este clip tiene un campo de texto dentro llamado texto_txt
import flash.filters.*;
filtroDesenfoque = new BlurFilter(25, 250, 1);
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);

Por oxk4r

56 de clabLevel



 

Orense·España

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.