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);
}
}