Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/05/2009, 07:17
fedefazz
 
Fecha de Ingreso: mayo-2009
Mensajes: 1
Antigüedad: 15 años
Puntos: 0
Ayuda con efecto flash

Hola que tal a todos, tengo esta imagen con este efecto pueso. Queria lograr un efecto de agua constante, no cuando se apsa el mouse como en ejemplo sino constante que lo haga solo. Queria saber si se puede hacer algo asi o otro efecto aprecido qeu simule el efecto agua. Muchas gracias

La imagen es
ww.eliseogroup.com.ar/agua

el codigo es
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
img = BitmapData.loadBitmap("imagen");

w = img.width-1;
h = img.height-1;
pt = new Point();
Nx = new Matrix();
Mx = new Matrix();
Mx.scale(2,2);
fz = 70;// fz: fuerza del oleaje de 0 en adelante;
v = (255/256)-1/100000;
sal = new BitmapData(w/2, h/2);
sal1 = sal2=new BitmapData(w, h);
ori = acum=new BitmapData(w/2, h/2, false, 128);
attachBitmap(sal2,0);
ola = new ConvolutionFilter(3, 3, [1, 1, 1, 1, 1, 1, 1, 1, 1], 9);
ade = new ColorTransform(0, 0, v, 1, 0, 0, 2, 0);
agua = new DisplacementMapFilter(sal2, pt, 4, 4, fz, fz);

onEnterFrame = function () {
pul = true;
clearInterval(ID);
ID = setInterval(onda, 10);
};

function onda() {
if (pul) {
cont = 0;
ori.setPixel(_xmouse/2,_ymouse/2,0);
agua.scaleY = agua.scaleX += 10*(agua.scaleX<(fz-10));
} else {
cont++;
if (cont>fz) {
agua.scaleY = agua.scaleX -= 5*(agua.scaleX>50)+.25;
}
}
sal.applyFilter(ori,new Rectangle(0, 0, w/2, h/2),pt,ola);
sal.draw(sal,Nx,null,"add");
sal.draw(acum,Nx,null,"difference");
sal.draw(sal,Nx,ade);
sal1.draw(sal,Mx,null,null,null,true);
sal2.applyFilter(img,new Rectangle(0, 0, w, h),pt,agua);
acum = ori;
ori = sal.clone();
if (agua.scaleX<=0) {
agua.scaleY = agua.scaleX=fz;
cont = 0;
clearInterval(ID);
}
}