Comunidad de diseño web y desarrollo en internet online

Problema con dislucion de Pixeles.

Citar            
MensajeEscrito el 16 Ago 2008 03:21 pm
Espero me puedan ayudar, tengo este tutorial, es para hacer un efecto de transicion de imagenes con disolucion de pixeles, pero cuando lo hago, no realiza nada, sigo todos los pasos y a la funcion crearRejilla();, le paso el parametro
crearRejilla(imagenes_mc);, pero no hace nada, espero me puedan ayudar gracias.

Partimos de las dos imágenes que serán inicio y final de la transición. Colocamos las imágenes en la misma posición en distintas capas, de modo que esté una encima de la otra. Para que el efecto quede bien, las dos imágenes deben tener las mismas dimensiones.

La imagen de la capa superior es la que se va a "disolver" y dejará visible la de la capa inferior.

Una vez que tengamos situadas las imágenes convertimos en clip de película la situada en la capa superior con origen en la esquina superior izquierda, después le asignamos como nombre de instancia inicio_mc.

Creamos un rectángulo de 4 x 4 píxeles y lo convertimos en clip con el origen en la esquina superior izquierda, lo borramos del escenario y en la librería cambiamos sus opciones de vinculación, le asignamos el identificador celdita y marcamos las opciones Exportar en para ActionScript y Exportar en primer fotograma.

El siguiente paso es definir una función crearRejilla, que nos creará la máscara de rejilla para enmascarar al clip que pasemos como parámetro.

function crearRejilla(enmascarado_mc:MovieClip) {
// tiempo_minimo-> espacio minimo en milisegundos en que la transición empieza
var tiempo_minimo:Number = 500;
// duracion máxima de la transicion en milisegundos
var duracion_transicion:Number = 500;
// creo el clip que enmascará inicio_mc
var maskara:MovieClip = this.createEmptyMovieClip("maskara_mc", 1);
// recoloco en la misma posicion que el clip
maskara._x = enmascarado_mc._x;
maskara._y = enmascarado_mc._y;
// convierto maskara en la mascara del clip
enmascarado_mc.setMask(maskara);
// creo la rejilla
for (var i = 0; i<enmascarado_mc._width; i += 4) {
for (var j = 0; j<enmascarado_mc._height; j += 4) {
// creo un objeto para asignarle propiedades a cada clip de las celdas de la rejilla
var posicion = new Object();
// temporizador-> tiempo que tarda en disolverse cada celda una vez que ha sido creada,
// es un valor entre tiempo_minimo y tiempo_minimo+duracion_transicion
// (ver código dentro clip celda)
posicion.temporizador = tiempo_minimo+Math.ceil(Math.random()*duracion_transicion);
posicion._x = i;
posicion._y = j;
// creo la celda
maskara.attachMovie("celdita", "celda"+i+"_"+j, maskara.getNextHighestDepth(), posicion);
}
}
}

Con esto creamos la máscara de rejilla con sus celdas, pero todavía falta el código que va a utilizar la variable temporizador que hemos definido para cada celda y que es la que indica cuando desaparece cada celda.

Hacemos doble clic en la librería sobre el clip celda para pasar al modo de edición interna. En el primer fotograma podemos este código:

function quitar() {
clearInterval(quitarInterval);
this.removeMovieClip();
}
var quitarInterval = setInterval(this, "quitar", temporizador);
stop();

Con esto lo que hacemos es ejecutar la función quitar, que elimina la celda, una vez que ha transcurrido la cantidad de milisegundos almacenada en temporizador desde que se creó la celda.

Sobre la base de este ejemplo podéis hacer vuestra variaciones para crear nuevos efectos con máscaras. Además, tened en cuenta que la reproducción del efecto es totalmente aleatoria.

Por markant0n

25 de clabLevel



 

Comitan de Dominguez, Chiapas

msie
Citar            
MensajeEscrito el 16 Ago 2008 03:48 pm
Ponle formato a tus códigos para que se puedan leer, no me he tomado el trabajo de intentar leerlo porque en realidad no se puede. Aquí puedes encontrar como hacerlo:

http://www.cristalab.com/blog/59715/nuevo-diseno-del-foro-y-servicios-en-cristalab.html

Solo rectifica que cuando llamas a la función le estás pasando el movieClip en realidad, compruébalo situando un trace dentro de la función crearRejilla:

Código ActionScript :

function crearRejilla(enmascarado_mc:MovieClip) {

    trace(enmascarado_mc);


Si no te dice algo como "_level0.el_nombre_del_mc" entonces estás pasándole mal el parámetro. También rectifica la vinculación para AS exacta del cuadro de 4 x 4 en la biblioteca que sea "celdita".

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 11 Nov 2009 01:53 am
bueno al codigo q has puesto, en la parte final agrega

crearRejilla(inicio_mc); y listo a probar, si no entendiste me avisas a mi correo y te ayudo

Por olpo18

1 de clabLevel



 

msie7
Citar            
MensajeEscrito el 11 Nov 2009 01:55 am

olpo18 escribió:

bueno al codigo q has puesto, en la parte final agrega

crearRejilla(inicio_mc); y listo a probar, si no entendiste me avisas a mi correo paul_4_18@hotm.... y te ayudo

Por olpo18

1 de clabLevel



 

msie7

 

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