Crear efecto agua sobre una fotografia con Flash
Autor & Creditos: Maverick
Es un efecto sobre una fotografia de una casa con lago, y el efecto lo aplicamos obviamente sobre el agua.
Empezamos trabajando con una fotografia que dividimos en dos partes, una parte es donde no se aplicare el efecto, que seria la casa, como se ve el video tutorial, y la otra parte es el agua (lago) donde se aplica nuestro efecto.
Ejemplo:
Clic en la Imagen para ver el Video Tutorial
Codigo Actionscript:
var w = water_mc._width;
var h = water_mc._height;
ripple = new flash.display.BitmapData(w, h);
ripple3 = new flash.display.BitmapData(w, h / 2);
ripple2 = new flash.display.BitmapData(w, h / 4);
ripple1 = new flash.display.BitmapData(w, h / 4);
gradient = new flash.display.BitmapData(ripple.width, ripple.height);
gradient.draw(gradient_mc, new flash.geom.Matrix(1, 0, 0, 1, 0, 0));
gradient_mc._visible = false;
offset3 = new flash.geom.Point(0, 0);
offset2 = new flash.geom.Point(0, 0);
offset1 = new flash.geom.Point(0, 0);
speed1 = -0.300000;
speed2 = -0.600000;
speed3 = -1.200000;
pt = new flash.geom.Point(0, 0);
rect = new flash.geom.Rectangle(0, 0, ripple.width, ripple.height);
this.onEnterFrame = function ()
{
offset1.y = offset1.y + speed1;
offset2.y = offset2.y + speed2;
offset3.y = offset3.y + speed3;
ripple3.perlinNoise(0, 15, 1, seed, true, true, 1, true, [offset3]);
ripple2.perlinNoise(0, 10, 1, seed, true, true, 1, true, [offset2]);
ripple1.perlinNoise(0, 5, 1, seed, true, true, 1, true, [offset1]);
ripple.copyPixels(ripple1, r1rect, r1pt);
ripple.copyPixels(ripple2, r2rect, r2pt);
ripple.copyPixels(ripple3, r3rect, r3pt);
ripple.merge(gradient, rect, pt2, 127, 127, 127);
dMap = new flash.filters.DisplacementMapFilter(ripple, pt, null, 1, 100, 100, "WRAP");
water_mc.filters = [dMap];
};
r1rect = new flash.geom.Rectangle(0, 0, ripple1.width, ripple1.height);
r2rect = new flash.geom.Rectangle(0, 0, ripple2.width, ripple2.height);
r3rect = new flash.geom.Rectangle(0, 0, ripple3.width, ripple3.height);
r1pt = new flash.geom.Point(0, 0);
r2pt = new flash.geom.Point(0, ripple1.height);
r3pt = new flash.geom.Point(0, ripple1.height + ripple2.height);




del.icio.us
Digg
Comentarios (24 Publicado):
probarlo, solo tenia que mirar un
detalle en la programacion de action script, que no me habia dado cuenta antes.
FELICITACIONES POR ESTE VIDEOTUTORIAL.
este video tutorial?
me gustaria descargar los videos, en algun momento los vi y me parecieron muy padres y la verdad me gustaria aprender como hacerlos, espero puedas contestar..
gracias
como dice carla, ojala pudieras hacer un videotutorial de un carrusel de imagenes.
mx.geocities.com/hu_sa_lo
Gracias!!
Envie sus comentarios