Foros del Web » Creando para Internet » Flash y Actionscript »

Bandera ondeante

Estas en el tema de Bandera ondeante en el foro de Flash y Actionscript en Foros del Web. Hola! Alguien me puede decir como conseguir en Flash CS3/AS2 el efecto de una bandera ondeante? He estado buscando por google, pero no encuentro mucho ...
  #1 (permalink)  
Antiguo 06/04/2009, 03:53
Avatar de NaRanJiTo78  
Fecha de Ingreso: noviembre-2007
Ubicación: In the BeaCh
Mensajes: 874
Antigüedad: 17 años
Puntos: 10
Pregunta Bandera ondeante

Hola!

Alguien me puede decir como conseguir en Flash CS3/AS2 el efecto de una bandera ondeante?

He estado buscando por google, pero no encuentro mucho y lo que encuentro me da muchos errores, quizá fueran para versiones muy antiguas creo.

Un saludo, gracias
  #2 (permalink)  
Antiguo 06/04/2009, 08:30
Avatar de gVenom  
Fecha de Ingreso: julio-2008
Ubicación: Costa Rica
Mensajes: 1.458
Antigüedad: 16 años, 4 meses
Puntos: 53
Información Respuesta: Bandera ondeante

1) En la biblioteca pones una imagen llamada digamos "bandera".
2) Pinchas con ratón derecho sobre su icono en la biblioteca.
3) Pinchas en vinculación en el menú que aparece.
4) En la ventana que sigue: Propiedades de vinculación marcas Exportar para ActionScript , marcará también Exportar en primer fotograma, déjalo marcado. En identificador pon imagen (ese es el nombre que buscará el script para cargarlo en attach). Deja la entrada de Clase AS2 en blanco. pulsa Aceptar. Si todo ha ido bien, en las columnas de la biblioteca verás: nombre, tipo, nº de usos, y en vinculación la palabra imagen.


Código:
/* BANDERAS  by TESEO Flash 8  2006
 Importar cualquier imagen (jpg,png,bmp,gif) y vincular en la bilbioteca
 con nombre: imagen. Ajustar los parámetros de brillo, velocidad y
 nº de ondas según gusto. El MC resultante es: bandera.  LISTO */
import flash.display.BitmapData;
import flash.geom.*;
import flash.filters.DisplacementMapFilter;
br=180;// brillo de 0 a 256 
velo=10;//velocidad viento 
ond= 10;//nº de ondas que se crean   
img = BitmapData.loadBitmap("imagen");
w = img.width; h = 4*img.height/3;
marco = new BitmapData(w,h,true,0);ola = marco.clone()
marco.draw(img,new Matrix(1,0,0,1,0,h/7)); marco2 = marco.clone();
createEmptyMovieClip("bandera",this.getNextHighestDepth());
bandera.attachBitmap(marco,0);
offset = new Point(); ond= ond*.16; velo = velo*.26
desMap = new DisplacementMapFilter(ola,new Point(),8,8,24,20,"clamp");
onEnterFrame = function (){
  offset.x -= velo*w/50; offset.y -=velo*w/100;
  ola.perlinNoise(w,2*h,1,0,true,true,8,true,[offset]);
  marco.perlinNoise(w/ond,h/(ond*2),1,0,true,true,1|2|4,true,[offset]);
  marco.merge(marco2,new Rectangle(0,0,w,h),new Point(),br,br,br,256);
  bandera.filters = [desMap];
};
Efectuar el redimensionado fuera del script.....el bitMap no lo hará y se crea una imagen doble.
Justo después de esta linea:
bandera_mc.attachBitmap(marco,0);
Coloca el redimensionado que se debe de hacer ANTES de la llamada al filtro.
Código:
bandera_mc._xscale = 15;
bandera_mc._yscale = 15;
NOTA importante: el borde se mantiene por el "clamp" del desplazamiento de mapa de bits.
Si el BORDE de la bandera no está bien definido ( algunos jpg o gif tienen un suavizado o distinto color en el borde) eso será arrastrado y la visualización será mas defectuosa. Para evitarlo, editar la bandera y retocar esos bordes de distinto color.
__________________
"Al que venciere y guardare mis obras hasta el fin, yo le daré autoridad sobre las naciones."
Apocalipsis 2: 26
Servicios para Pymes http://dst.co.cr
  #3 (permalink)  
Antiguo 06/04/2009, 09:43
Avatar de NaRanJiTo78  
Fecha de Ingreso: noviembre-2007
Ubicación: In the BeaCh
Mensajes: 874
Antigüedad: 17 años
Puntos: 10
Respuesta: Bandera ondeante

Muchas gracias, gVenom!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:13.