Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/04/2009, 08:30
Avatar de gVenom
gVenom
 
Fecha de Ingreso: julio-2008
Ubicación: Costa Rica
Mensajes: 1.458
Antigüedad: 15 años, 9 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