¿Quieres registrarte?

Efecto de agua con la clase BitmapData de Flash 8

Por: Teseo
18 de Enero del 2007
1401 de clabLevel
Otros artículos de Teseo
88,758 visitas

Este efecto genera oleajes por inicio puntual (gota). Utiliza el filtro de Convolución que actúa como principio de Huygens (cada punto es nuevo centro emisor de onda), Añadiendo suma y diferencia al resultado en cada ciclo y un nuevo desplazamiento terminamos el efecto. Está colocado sobre el canal azul aunque puede colocarse sobre todos, pero es mejor utilizar el canal bajo y, si se desea, añadir otro filtro de color al final para conseguir aceite, vino , mercurio, etc.

Para probarlo, da click sobre la siguiente imagen:


CLICKAR Y MOVER

Como en nuestros anteriores efectos de creación de nubes y de relieve sobre una imagen, sólo debes colocar este código en el primer keyframe.

Código :

import flash.display.*;
import flash.geom.*;
import flash.filters.*;
img = BitmapData.loadBitmap("imagen");
w = img.width;
h = img.height;
pt = new Point();
Nx = new Matrix();
Mx = new Matrix();
Mx.scale(2, 2);
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, [0, 1, 0, 1, 1, 1, 0, 1, 0], 5);
ade = new ColorTransform(0, 0, .9958, 1, 0, 0, 2, 0);
agua = new DisplacementMapFilter(sal2, pt, 4, 4, 128, 128);
onMouseDown = onMouseUp=function () {
   pul = !pul;
};
onEnterFrame = function () {
   if (pul) {
      ori.setPixel(_xmouse/2, _ymouse/2, 0);
   }
   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();
};

El valor de .9958 de azul en la transformación de color es muy crítico y se ajusta en diezmilésimas dependiendo del tamaño de la imagen y el desplazamiento. Si se desfasa demasiado no parará el efecto nunca ( aunque esto pueda ser útil a veces).

agua = new DisplacementMapFilter(sal2, pt, 4, 4, 128, 128); Los valores 128, 128 dan la profundidad de la ola, valores menores producen oleaje más suave.

También se puede cambiar el generador de puntos al gusto, con Math.random() (para lluvia), u otra función cualquiera.

Las deformaciones para inclinación y ovalado (escalado x e y distinto), se pueden aplicar sobre la matriz Mx.

Todos los efectos de esta serie los desarrollo y atiendo en este post.

Enviar a twitter Enviar a facebook


También te interesa


Etiquetas actionscript

Comentarios | Enviar un comentario
Excelente!, que más se puede decir... Gracias :)
Por: Sisco
El efecto está muy bien (y)
Pero una vez empieza, la imágen no vuelve a quedar quieta. Las ondas se reducen pero no desaparecen nunca... lástima.
¿se podría solucionar eso? ;)
Por: Zguillez
Pues claro que se puede solucionar!!
Ya advertia en el ejemplo que el valor .9958 de la transformación de color era crítico. Voy a explicarlo:
Ese valor en su límite viene dado por ser el primer cociente entero del redondeo hexadecimal. En otras palabras, el parámetro blueMultiplier de la transformación va de 0 a 1 en decimal pero de 0x00 a 0xFF en hexadecimal. Si yo quiero que ese valor disminuya en la unidad mínima para transformar el color de un pixel su valor hexadecimal bajaria a 0xFF desde 0x100 (el uno no lo toma evidentemente) esto sería 0xFF/0x100 en decimal: 255/256=0.99609375. Este sería el valor a colocar sino fuera porque también hacemos un desplazamiento de mapa. El valor de escala de dicho desplazamiento afecta a ese parámetro claramente ( el pixel se calcula escalado) de modo que si variamos los valores de desplazamiento de mapa de bits......... en valor anterior también hay que variarlo.
Por eso no para, es muy dificil el ajuste exacto, en algunos casos donde no son exactamente divisibles ambos valores, imposible.
Pongo el código que yo uso, (el otro era un ejemplo simple y no quería dar todo hecho!) donde simplemente hay que darle un valor a la fuerza del oleaje y el código hace el resto. Este se detiene por intervalos (se puede poner mayor el lapso si es demasiada carga), no usa enterFrame y funciona con cualquier valor. :wink:

Código :

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 = 60;// 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);
onda();
onMouseDown = function () {
   pul = true;
   clearInterval(ID);
   ID = setInterval(onda, 30);
}
onMouseUp = function () { pul = false;}
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);
   }
}


Por:
Bueno, pues una vez más es estupendo, ahora sólo hay que buscarle alguna utilidad, que seguro que la encuentro.
Por: Sisco
Exelente!! la verdad que esta muy bueno el efecto! no sabia que se podia hacer eso!
Por: Juan Pablo_blog
pueden mandar este ejemplo en un archivo fla, disculpen la molestia, gracias de antemano
Por: lalo_blog

lalo_blog :

pueden mandar este ejemplo en un archivo fla
Podríamos ¿Pero por qué? El ejemplo es muy sencillo y si lees lo entenderás facil.

¿Es mejor que aprendas a hacerlo o sólo copiar y pegar?
Por: Freddie
Si lo bonito es aprender, copy paste huy que feo U_U

Excelente efecto en serio que me he quedado sorprendido :o

Excelente la explicación de Invitado muy buena aportación teseo te la volaste viejo
Por: DaHouseCat
Yeahhhh!!!
Java Applets.... never more ^_^
Por: Bitetti_blog
Amigo.. recien recien estoy aprendiendo FLASH, y tengo una pregunta.

¿Donde está el KeyFrame?

Un abrazo enorme.
Por: Rdj_blog
olaa amigo...muy buen efecto....excelente
aunq tengo problemas al meterlo con una imagen mas grande....xq puede ser????
Por: alber
No entiendo porque no me sale... :( que desilusion. lo hice con un bitmap :( no me funciona... lo hice con un vectorial y tampoco... es mas.. despues hice copy paste y lo puse en el keyframe 1 y tampocoooo... alguien que me responda si hay un paso anterior o algo. salu2 y gracias
Por: Marcos_blog
Marcos, creo que tu problema es que no vinculas la imagen desde la biblioteca.
Colocar u MC, gráfico o botón en el Escenario y darle nombre de instancia es "instanciar", no es "vincular para attach".
Si es eso, sigue estas instrucciones:
1) En la biblioteca pones una imagen llamada digamos "paisaje".
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.
Ahora debería de funcionar. Si no es eso veremos que puede ser.
Por:
Siiii muchisimas gracias.. es verdad lo que decias... yo no vinculaba el Grafico... solamente lo arrastraba y renombraba

Muchas gracias
salu2
y sigan asi.... ESPECTACULAR!
Por: Marcos_blog
uhhh estoy pesado!. pero tengo una duda. a mi me vincula el grafico. pero a tamaño original. como hago para poder modificar su tamaño. es decir la foto es muy grande y solo veo un parte. la unica manera es agrandando el documento?.
gracias
Por: Marcos_blog
Existen varias maneras, desde dentro y desde fuera de flash.
Desde dentro de flash tendrías que hacer el attach, cargarlo en un MC. Despues escalarlo al tamaño deseado , crear un bitmap nuevo con el tamaño que has escogido (ancho y alto del MC escalado) y a ese bitmap dibujarle (draw) el MC escalado. Ahora ya puedes borrar el primer attach para que no ocupe memoria y usar el dibujado en el efecto.
O desde fuera de Flash (mejor).
Coges la imagen y la editas con cualquier programa de edición de imágenes, la reescalas al tamaño que quieres y esa es la que importas a la biblioteca del FLA.
Por: Teseo

Bitetti_blog :

Yeahhhh!!!
Java Applets.... never more ^_^


Juasssss, por un momento pense que decías
Java Applets.... never die^_^
:P :P :P
Por:
agradecería me enviaran los ejemplos y el código scrip del efecto de agua con la clase bitmap data de Flash 8
es muy bueno
Por: esap3@hotmail.com_blog
Enviar Script? Cópialo y listo. No necesita más.
De todos modos puedes mirar variaciones y otros problemas en el post linkado que hay en el ejemplo
Por: Teseo
me parece muy bueno el efecto sera que me puede enviar ela archivo . fla
al siguiente correo framante@hotmail.com

gracias
Por: diego bustamante _blog
quiero consequir desplazamiento de agua por el filtro
Por: hugo moises perez torres
yo tengo un problema es que cuando inserto una imagen en flash se me pixela al modificarle el tamañao que puedo hacer para que esto no ocurra???
Por: walter_blog
Saludos, primero que nada, te felicito, esta maravilloso el efecto, me gustaria saber si es posible hacerlo de manera que funcione al pasar el cursor sobre la imagen, no al hacer click en ella. Esta muy bueno el efecto
Por: Orinoco Studio_blog
Que bien, ya lo he conseguido, solo cambié las funciones onMouseUp por onRollOver y la de onMouseDown por onRollOut! Maravilloso efecto! para que vean como me quedó pueden visitar www.orinocostudio.net
Por: Orinoco Studio_blog
Ahh olvide mencionar, para verlo, pasen el cursor sobre el cabezal del sitio, donde aparece el nombre! :)
Por: Orinoco Studio_blog
Orinoco Studio me da error 404: Servidor no encontrado
Por: DanielSemper
Disculpa, es que momentaneamente estan realizando mantenimiento del server, en cuanto este disponible aviso para que vean el efecto!
Por: Orinoco Studio_blog
teseo, me gustaría saber si se puede aplicar el efecto pero sin que responda a un evento del mouse, es decir, que la imágen siempre este en movimiento, o al menos que comience a moverse al cargarse el archivo, espero tu respuesta
Por: elpokas_blog
Te comento que logre hacer que se mueva sin responder al mouse, pero siempre queda el punto de origen alli, ¿existe una forma de hacer que desaparezca el punto luego de un tiempo o algo asi?
Por: elpokas_blog
Hey, ya esta en línea www.orinocostudio.net, pueden ver el efecto alli, utilice el efecto en el header en dos formas, hay un punto fijo que hace que se mueva sin intervencion del usuario, y tambien, el mismo efecto pero onRollOver! ;)
Por: Orinoco Studio_blog
como se podira implementar este efecto en una proyeccion, pero que el control del movimiento del agua fuera con el ceurpo o con la mano?? es decir como podria fusionar el camera.get() y el efecto agua?¡ si saben porfavor noi duden en postearlo o mandenme un e mail darkco2@gmail.com
Por: dark_bta_blog
Tengo un problema TT_TT, saben, el efecto de agua esta muy bueno, se ve espectacular y me funciona bien con el codigo que puse Teseo, mi problema es que tambien quiero hacer RollOver, pero al cambiar las partes del codigo onMouseDown y onMauseUp como dijeron, no me resulta el flash, simplemente se ve como una imagen.
Porfavor, podrian ayudarme...
Por: Asuka_blog
ola estoy alucinando con todo lo que poneis, yo ago paginas web pero el flash me lo hacen, es decir no tengo ni idea.

queria saber si al poner el codigo directamente en la pagina en formato html funcionaria.

sino como tengo que hacer para que me funcione en la pagina????


agradeceria que me lo dijeran ya que necesito terminar mi pagina para el proyecto del curso
Por: miguelito_blog
Este efecto solo funciona dentro un SWF, un archivo de Flash y no un HTML.
Por: DanielSemper
disculpa como puedo hacer que el efecto de agua funcione sin necesidad del clic y acoplarlo con un efecto de lluvia
Por: Raxiel_blog
De verdad si alguien pudiera ayudarme a crear este efecto de olas cada vez que se detecte movimiento con la webcam eudaria plenamente agradecido! ayudenme porfa!!!!!!!!!!!!!!!!!!!!!!!!!
Por: darkbta_blog
Val, darkbta, lo estoy preparando. es interesante.
Por: Teseo
:? Teseo....sabes, tu codigo de este topic es mucho mejor que el del topic anterior, sin embargo :cry: no puedo acer que me funcione con solo pasar el mouse ....

porfavor, me ayudas a hacelo RollOver!!

Gracias :)
Por: asuka
Hola, el codigo para usarlo rollover seria mas o menos asi:

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 = 60;// 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);onda();onRollOver = function () { pul = true; clearInterval(ID); ID = setInterval(onda, 30);}onRollOut = function () { pul = false;}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); }}

Espero que les sirva :)
Por: Orinoco Studio_blog
Ese sería el codigo, es el mismo que posteo teseo pero cambiando las funciones onMouseDown por onRollOver y onMouseUp por onRollOut, los demás pasos son los mismos. Espero poder ayudarles! :)
Por: Orinoco Studio_blog
podrias poner el código como lo pone Teseo; lo que pasa es que lo copio y lo pego y lo separo pero no me resulta....
a lo mejor el problema es mi, pero me lo podrias poner de nuevo porfavor?? :crap:


:lol: perdon por las molestias.
Por: asuka
soy muy novato en esto pero el efecto esta padrisimo alguien tiene la aciencia de explicarme como hacerlo. es decir pongo una imagen en el ecenario la seleciono y agrego el script?
gracias!!!
Por: vic_blog
sipis sipis, asi es la cosa, pero con RollOver no me funciona a mi :cry:
Por: asuka
Recuerda que tienes que agregar una imagen a la libreria y vincularla a el código, además debe llamarse "imagen", otra cosa es que te recomiendo usar flash 8, el código ya modificado para el RollOver seria este:

import flash.display.*;
import flash.geom.*;
import flash.filters.*;
img = BitmapData.loadBitmap("imagen");
w = img.width;
h = img.height;
pt = new Point();
Nx = new Matrix();
Mx = new Matrix();
Mx.scale(2, 2);
fz = 200;// 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);
onda();
onRollOver = function () {
pul = true;
clearInterval(ID);
ID = setInterval(onda, 30);
}
onRollOut = function () { pul = false;}
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);
}
}
Espero esta vez poder ayudarte asuka!
Por: Orinoco Studio_blog
malas noticias :cry: , lo probe y me marca este error:



**Error** Escena=Escena 1, capa=Capa 1, fotograma=1:Línea 35: Error de sintaxis.
agua.scaleY = agua.scaleX -= 5*(agua.scaleX>50) .25;

Total de errores de ActionScript: 1 Errores comunicados: 1



porque sera??, algien sabe??
Por: asuka
Para que funcione al pasar el ratón sobre la imagen.
Mejor así:
(es lo mismo pero con rollOver y rollOut)


Código :

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 = 60;// 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);
onda();
onRollOver  = function () {
   pul = true;
   clearInterval(ID);
   ID = setInterval(onda, 30);
}
onRollOut = function () { pul = false;}
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);
   }
}


El error en esa linea era claro: le faltaba un signo +
agua.scaleY = agua.scaleX -= 5*(agua.scaleX>50)+.25;
Por: Teseo
muchas grasias teseo; lamento no haber identificado el error yo sola, pero es que no se nada de flash, por eso pedi ayuda.
Muchas Gracias por ayudarme ^^
Por: asuka
hola gente, soy nuevo en este foro, bueno queria saber si alguien me puede decir como puedo vincular un boton en flash con un correo electronico.
bueno si alguien me puede dar una mano muchas gracias, ah la pag esta muy buena hay muchas cosas interesantes.
julio
Por: julio_rojas_blog
Bueno creo que solo el creador podia solucionarlo XD, lamento no har podido ayudar, y gracias a Teseo por la atencion
Por: Orinoco Studio_blog
tengo el efecto de fuego pero me funciona con un grafico pero no con un movieclip alguien que me pueda ayudar este es el codigo:

Código :

import flash.display.BitmapData;
import flash.geom.*;
import flash.filters.*;
img= BitmapData.loadBitmap("imagen");
createEmptyMovieClip("efecto",0);


efecto.attachBitmap(img,0); 
efecto._yscale=400; 
efecto._y=-100;
efecto._xscale=100; 


olas = ola = new BitmapData(efecto._width,efecto._height);
offset = new Point(0,0);
desMap=new DisplacementMapFilter
                     (olas,new Point(0,40),1,1,100,100,"warp");
                
onEnterFrame=function(){
   offset.y += 5; //offset.x -= 9.8;
   ola.perlinNoise(12,28,1,0,true,true,1,true,[offset]);
   efecto.filters=[desMap];
   efecto._alpha=70;
   
   
   
  // this._height += (50 - this._height) / 10;
   
   }


la verdad quiero hacer que el efecto de fuego se estire cubriendo la pantalla pero no pude asi que lo puse en un movieclip pero tampoco me funciono....


gracias por la ayuda.!!!

:D
Por: Chevy
muy bueno el flash
me gustaría saber como sería si yo quiero que me haga el primer efecto de hacer click según carga la película, es decir, sin tener que hacer click ni pasar por encima

graciassssssss
No hay camino hacia la libertad, la libertad es el camino
Por: angi_blog
exelente efecto me gusto mas el de rollover oye y este efecto que dice gabriel de www.campcancunmexico.com igual esta padrisimo pero como se hace?.


gracias
Por: manuel_blog
Excelente efecto, pero alguien me puede decir donde esta la orientacion que sigue la imagen?
Por: Mario_blog
que pasaria si en vez de poner .9958 pongo .100000
Por: mario rnesto_blog
hay alguna forma de que esto funcione como una capa y las gotas ocurran acorde a un tiempo aleatorio sin necesidad del click del mouse, es decir automaticamente?
Por: Hamlet_blog
No hay forma de hacer que el movimiento suceda sin necesidad del mouse... o sea... que sea automático.

Gracias

waismandaniel@hotmail.com
Por: Daniel_blog
Oigan, ke feo siento
a mi no me sale
mi mc se llama imagen, ya vinncule, ya pegue el kodigo en el primer fotograma
y no me sale
ke feo siento
si hay alguien ke me pueda ayudar se los agradeceria
gracias
sherincks@hotmail.com
Por: Abis Medina_blog
Este es un FLA con el ejemplo para que estudies que no haces correctamente:
descargar FLA
Por: Teseo
Hola, me podrias recomendar algun link para leer mas sobre la clase botmapdata, como la prendistes tu?
Gracias!!!
Por: Jonatan_blog
hola acabo de entrar en tu página estan excelente, las cosas que he encontrado pero no se en que parte de la flash tengo que agregar estos codigos me agradaria saberlo gracias de antemano
mi correo es juan15-13@hotmail.com
se algo de programacion y entiendo estos codigos pero no estoy muy familiarizado con flash
una pregunta: como hago para que una imagen de fondo se mueva de derecha a izquierda como si estuviera caminando
Por: Cesar De la Canal_blog
Estimado amigo es primera vez que logro encontrar noticia tan importante sobre tutoriales flash, conosco este programa desde mucho tiempo pero no comprendo su manejo aun cuando practico y veo ejemplos tras ejemplos
Maurodese@hotmail.com

de ante mano MUCHAS GRACIAS
Por: Mauro De signoribus_blog
Saludos. Hola me gustaria saber si se puede conbinar este efecto con un boton..es decir..ke al presionarlo aparesca la onda de agua sobre el mismo boton...les agradesco de antemano :D
Por: kancun84_blog
antes que nada permiteme quitarme el sombrero...
tienes unos efectos impresionantes, la verdad apenas estoy aprendiendo, me gustaria si me pudieras enviar algunos ejemplos links o tutoriales interesantes,
gracias muchas gracias
c15mcj@yahoo.com.mx
"y sigue trabajando duro astes para seguir apantallando"
Por: principito_blog
con la novedad, baje el archivo fla de unos cuantos posts arriba, lo he probado y funciona de maravilla, pero al momento de cambiar los comandos "al hacer click" por los de "al apsar el mouse" no funciona anda, aqui mi codigo

Código :

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 = 60;// 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);
onda();
onRollOver  = function () {
   pul = true;
   clearInterval(ID);
   ID = setInterval(onda, 30);
 }
onRollOut = function (){ pul = false; }
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);
   }
}

por favor ¡¡¡¡¡AYUDA!!!!!!
tambien he intentado con el codigo que se ha pegado por aqui y nada, no funciona
Por: phatum1
perdon, soy nuevo en esto de los foros, y la desesperacion me ha hecho "clickar" dos veces el boton de enviar
mil disculpas a todos!!!
Por: phatum1
No te funcionará el RollOver y menos el RollOut si trabajas este código sobre el raiz (_root). Utiliza esta pequeña variación que crea un MC llamado aguaMC y hace el rollOver y rollOut sobre dicho MC. Así te funcionará.

Código :

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 = 60;// 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);
aguaMC = this.createEmptyMovieClip("e",10);
aguaMC.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);
onda();

aguaMC.onRollOver = function () {
   pul = true;
   clearInterval(ID);
   ID = setInterval(onda,30);
}

aguaMC.onRollOut = function () { pul = false; clearInterval(ID); }

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

Por: Teseo
por favor me podrian enviar un archivo en el que funcione rollover porque a mi no me funciona por favor. mi email:pame_bsbt@hotmail.com
gracias
Por: pame_blog
oye tengo una pregunta esto o la imagen se podra hacer boton, y que con solo pasar el mouse por el area se hagan lasi ondas de agua, osea que no se clickee sno con pasar nadamas se mueva esto como agua y esto a la ves sea un boton..

porfa hechenme la mano lo he tratado de hacer pero no me sale

gracias
Por: Romeo _blog
Teseo, soy nueva en esto. He copiado el codigo. y da buenos resultados en mi presentacion... pero como hago para que la imagen quede centrada en el lienzo, ya que automaticamente esta en el vertice izquierdo superior...
Gracias,
Por: Yazmin_blog
consulta sobre el codigo. como hago para que el agua se mueva sola sin pasar el mouse encima?
gracias
Por: Hector_blog
Con respecto al efecto de agua, como puede uno alterar la localizacion del bitmap en la pelicula, al igual como poder campiar el que este por delante o por detras de los objetos...???
Por: Izzio_blog
Por cierto, tambien tengo como duda si se puede aplicar este efecto a clips de pelidulas, y que actue como boton...
Por: Izzio_blog
Hola eh visto las cosas que se pueden hacer con el flahs... este efecto me sorprendio... ud es una reduro...otra cosa desearia saber como hacer el efecto pero visto de una forma horizontal
Por: Alejandro Nieto_blog
necesito realizar una multimedia y desero saber como podria hacer un efecto de ondas pero en vista horizontal como viendo al mar mi correro : rockclasic111@hotmail.com
gracias sos un duro
Por: Alejandro Nieo_blog
Teseo con respecto al las funciones RollOver y RollOut del ultimo codigo que proporcionaste obtienen su cometido mientras te encuentres dentro de la imagen, pero en cuanto sales de ella se detiene la imagen con las ondas de agua... no continuan hasta acentarse nuevamente a menos de que coloques nuevamente el cursor sobre la imagen... como se puede rectificar esto...
Al igual, como puedes mover la imagen a tu gusto y volverla en dado caso un boton... EN SERIO TE LO AGRADECERIAMOS MUCHISIMO
Por: Izzio_blog
Estuve probando el codigo que proporciono Teseo y respondiendo a mi propia pregunta anterior, solo devemos de borrar del codigo:
clearInterval(ID);
El cual se encuentra en:
aguaMC.onRollOut = function () { pul = false; clearInterval(ID); }
Con esto eliminamos la pausa que se genera al sacar el cursor de la imagen.

Por ultimo Teseo... como podemos afectar las cordenadas en las que se encuentra la imagen, para poderla colocar a nuestro gusto en cualquier otra parte del escenario, al igual que como pordemos hacerlo un boton...

GRACIAS
Por: Izzio_blog
Teseo, como hacerle para ponerlo detras de los objetos en el escenario

Esta cool...
Por: Conte_blog
hola necesito ayuda estoy haciendo un esceario y le puse es efecto en el agua pero el efecto aparece en la parte de arriba cuandoyo la eh puesto abajo :(.. como puedo indicarle donde kiero el efecto??'
Por: Ryck_20_blog
EXCELENTEEEEEEEEEEEEEEEEEEEEEE!!!!!!!!
Por: Manfred_blog
Excelente efecto.
Tengo una pregunta para Condetestable Bug:
He probado el efecto con tu código para rollover, queda estupendo, ahora me gustaria introducir un botón dentro del Clip de Película aguaMC, pero no sé como localizarlo. No encuentro el clip de película dentro del documento
¿De qué otra manera lo podría hacer?
Grazie Mile
Por: enma_blog
esta muy bueno
Por: fredy arevalo_blog
Quizá la pregunta de Izio esté mejor formulada:

Con respecto al efecto de agua, como puede uno alterar la localizacion del bitmap en la pelicula, al igual como poder campiar el que este por delante o por detras de los objetos...???

Por favor; alguien lo sabe?
Por: enma_blog
Hola, al igual que Orinoco quisiera hacer que el efecto solo fuese al pasar el mouse sobre y no al hacer clic. Reemplazé el codigo por onRollOver y onRollOut, pero al ejecutar el swf no pasa nada. Alguna idea? copio el codigo por si alguien ve el error. Gracias

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 = 60;// 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);
onda();
onRollOver = function () {
pul = true;
clearInterval(ID);
ID = setInterval(onda, 30);
}
onRollOut = function () {
pul = false;
}
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); }
}
Por: Amrod
Sorryy!!!!..... no me di cuenta que habían 3 paginas!!.... el último codigo funciona perfecto al eliminar la linea ya mesionada... disculpen de nuevo y gracias por tan excelente codigo!!!! Saludos
Por: Amrod
Yo gostaria de aser este efecto pero
como comessar quantos fotogramas, estoy aprendendo alguem puedes me aclarar
Por: LeonardoDavi_blog
Necesito un efecto parecido para mi página, cuanto me cobrás para hacerlo?

Gracias
Por: nesword
Yo no trabajo como programador, pero hay muchos por este foro que son profesionales y pueden atender tu oferta....consúltales a ellos.
Por: Teseo
Muy bueno te felicito, es una herramienta para diseño
Por: Enav_blog
Teseo, disculpa pero esta muy bueno el efecto y no me rindo facilmente,
pero no me sale, haber si entendi.

coloco una imagen y la dejo mapa de bit, luego le coloco el codigo al primer key frame y me deberia andar !!?!?

bueno si es asi no me sale...me explicaria un toke mas que no soy muy bueno con esto de los codigos
Por: tincc
esta muy bueno el ejemplo solo quisiera que alguien pudiera aconsejarme ,tengo un problema tan solo quisiera que este efecto de agua sea tan solo en una parte de imagen como podria lograr eso?
Por: Alina_blog
Hola excelente efecto, soy principiante en esto de flash, quisiera colocar ese efecto sobre una imagen jpg, podrían indicarme como hacerlo desde el principio.
Gracias.

saintbrand@gmail.com
Por: Saintbrand_blog
Este codigo funciona con flash MX trate de hacerlo pero no lo logre ... alguien me podria ayudar
Por: 1an_blog
yeaaaaaaaaaa
Por: weee_blog
Muy buena Felicitaciones Teseo.
Vamos a ver si puedo ayudar:
Saintbrand.- como tu lo has dicho desde el principio tenes que leer.
1an.- solo para flash 8
Por: gmopinillosv
Excelente script :) y sobretodo gran paciencia para resolver las dudas.. felicidades..

P.d orinoco no me gusto tu pag xD si te estas dando a conocer como Freelancer te recomiendo no bombardear tanto con bloques.. parece que son publicidad.. mejor has algo con mayor navegabilidad, y mejor distribución, me gusto tu personaje del DJ xD pero el otro... sin comentarios..

P.D el estilo "2.0" es una lacra originalidad antes que moda.

Grax teseo la verdad increible el script
Por: index-estudio.com_blog
Uff. Seguramente sea una pregunta tonta, pero sé muy poco de flash y estoy tratando de conseguir algunos de estos efectos, en concreto el del efecto agua. He introducido una imagen en la biblioteca con el nombre "imagen", y he copiado el código que das en donde supuse que había que pegarlo: en la zona de las Acciones. Luego pruebo la pelicula y nada. Se ve la imagen pero no hay efecto. Seguramente no sea tan facil. Podrías ayudarme?
Por: Alicic_blog
hola, tras mirar y remirar, encontré la solución. gracias igualmente!
Por: alicic_blog
Hola muy buenas yo intento vincular el mapa de bits pero no me deja, es decir al dar sobre el boton derecho sobre la imagen, el exportar para action script me sale inactivo, sabeis porque es? un saludo genios
Por: Jodorisko_blog
Hey Teseo, muchisimas gracias por publicar este efecto de agua en flash, esta impresionante y me sirvio porque estoy haciendo mis practicas profesionales en comision del agua y le ha dado muchisima presentacion a la intro del sitio web. Felicitaciones Teseo, la neta este trabajo sigue asi!
Por: Erick Moises
Hey Teseo usted me acaba de dar un nuevo concepto de lo que se puede hacer en flash jamas imagine q se pudiera fabricar un efecto tan similar al agua, este efecto y con tu permiso va directo a mi web me encanta, te felicito es un total exito. GRACIAS, y eso con accion script 2 ya imagino la magia cuando esa calidad de proyectos esten elaborados con as3
Por: brq123
Hola. EStoy intentando meter este efecto, pero hay vv poblemas.
Me gustaria que apareciera sólo sobre una lata de pintura redonda on click, como bbotón
Pero, no puedo importar la imagen con trasparencia, en bitmap. L pregunta es, en qué formato lo pongo dsd fotosop
xq gif, png, eps etc....no me los agarra, solo jpq , y de esta manera el efcto aparece en toda la imagen.
Otra pregunta es que si sabe alguin como borrar las esquinas de la imagen cuadrada para que sea redonda, desde flash.
No sé si me he explicado.
Ya probé con mascara pero no me salía(¿?)

Muchas gracias
Por: Didedi-blog
hola teseo... la verdad el efecto esta exelente! Felicitacion...
Te hago una consulta... como hago para que al hacer clic en la pelicula me lleve a una pagina?? porque estoy probando pero no me sale

Saludos

Ale
Por: ale-blog
que lindas aportacion es
Por: claudia erandi rocha-blog
hace tiempo vi este mismo efecto en una pagina al pasar el mouse (parecia un efecto del cursor)...me pregunto si hay una abreviacion del codigo o uno diferente para utilizarlo en una opcion HTML o si definitivamente no funciona asi....quien me pueda responder le estare muy agradecido!!!
Por: james-blog
hola teseo estoy con tut tutorial de efecto agua y no se porque pero la imagen me la coloca por defecto siempre en el borde superior izquierdo y a mi me gustaria ponerla en otra parte del escenario , de todas maneras muy guapo el efecto
Por: diablillo-blog
hola gente: primero debe felicitar a teseo, los efectos son geniales!!!
Ahora, yo utilicé el efecto del lago, me salió ok, pero quiciera superponer a la imagen un marco transparente (solo el contorno) ya sea un png o vectores.

Como puedo hacerlo, el attach no me salió, pero creo que por errores de sintaxis.

Alguien me ayuda?
Por: marcelo vercillo-blog
Sos increible, el efecto es impresionante y nos muestra las enormes capacidades de flash. Pero yo estoy en la calle. Copie el codigo e importe una imagen en bitmap, le cambie el nombre a imagen. Pero no logro que suceda nada. ¿Que he hecho mal? agradezco el tiempo que se tomen en contestarme. e-mail a mailto:la.orellana@yahoo.com
Por: papaosos-blog
hola el efecto del agua es muy bueno pero tengo una duda, como le hago para que el efecto se muestre al cargar la pelicula en otras palabras que no se de click que comience solo o eso no es posible?
Por: javo-blog
Hola que tal Teseo, una pregunta, al principio del tema dices que los situas por encima de un canal azul para que es esta ubicacion y menciones tambien que podemos añadir un filtro de otro color para aceite, mercurio,etc como logro esto que nomas no encuentro como, de antemano te agradesco la ayude y la atencion
Por: alex-blog
Como podria lograr q este efecto se inicio solo... es para un intro y soy principiante en flash.
1000
Gracias
Por: Gaby-blog
hola a todos hace mucho tiempo que vengo descubriendo este mundo y me gustaria que alguien me pudiera dar una mano recien estoy empezando hay muchos efectos que me interesas que este efecto de agua me esta rompiendo la cabeza es para un proyecto que tengo que hacer es para unos dias este es el toque final bueno desde ya mil gracias nos vemos
Por: carlos-blog
Hola! que tal..? estoy comenzando con esto y solo he hecho algunas animaciones que he visto en tutoriales antiguos, me gustaria hacer ese efecto en unas imagenes que tengo pero tengo es el Flash CS3 Portable y no se parece en nada al que use antes... :( no se como hacerlo alli... me podrian ayudar un poco por fa.. :) Gracias...! (y) :P
Por: Eros10509-blog
Hola amigo, me parece exelente el efecto, pero tengo una consulta para hacerte. aplico el efecto en una imagen y luego quiero poner un boton y este me queda por detras de la imagen, como puedo hacer para que todo lo que incluya desp quede por encima de la imagen?
saludos Gabriel
Por: Zero8
excelente tutorial
Por: softlusion
Este tipo de instrucción:

Código :

attachBitmap(sal2, 0);


coloca el bitmap que contiene el efecto sobre el MovieClip raiz ( por defecto) equivale a:

Código :

_root.attachBitmap(sal2, 0);


Si deseas tener un MC con el efecto para poder moverlo, rotarlo, cambiarlo de profundidad etc...
debes de crear un MC vacio en el nivel que quieras y hacer el attach a ese MovieClip:


Código :

createEmptyMovieClip("MC", this.getNextHighestDepth());
MC.attachBitmap(sal2, MC.getNextHighestDepth(), "auto", true);


o crearlo dentro de un MovieClip que ya tengas. Imagina que quieres colocar el efecto dentro de un MC contenedor llamado por ejemplo "agua" ( que ya está en el escenario).
entonces el código sería:

Código :

MC = agua.createEmptyMovieClip("MC", this.getNextHighestDepth());
MC.attachBitmap(sal2, MC.getNextHighestDepth(), "auto", true);

Por: Teseo
FELICIDADES!!! muy buen tutorial y además muy bien explicado y has tenido soluciones para todo...

Pero ahí va mi pregunta... me gustaría saber como puedo poner la imagen del agua en el fondo con las ondas y poner mc encima ya que lo intento pero el mc no lo muestra. Muchas Gracias por adelantado.
Por: Meyi-blog
Excelente, he estado buscando en otros post. Como hacer para poner una imagen que no responda a este efecto en el mismo canvas, ejemplo seria como poner una imagen que vaya en el top de esa pero que el efecto no le haga nada.??
Por: Mario Griffin-blog
hola , disculpa este efecto se puede aplicar a un vector?

,saludos
Por: diego B-blog
Hola a tod@s excelente efecto, solo que me gustarlía usarlo cuando arranque el test movie en como un EnterFrame pero no me funcionas. Es porque quiero usarlo en un intro al efecto.
Algun amigito amable que me pueda ayudar???
Besos
Por: Gaby-blog
esta este efecto para AS3?
Por: alexstorm
ooralee esta padreee
batalle bastante pero valio
la penaaa tratare de aser los demas (Y)
Por: khriztian-blog
exelenye tutorial. pregunto como puedo colocar otras imagenes encima de la animacion? por favor urgene
Por: juan muñoz-blog
un favor con que parametro controlo la distancia de las olas, no quiero que lleguen a topar los border de la imagen.

gracias
Por: ed-blog
hola deacuerdo al codigo, no logro entender ni ubicar como hago para dar las coordenadas dentro de mi zona de trabajo a la imagen q le quiero aplicar el efecto agua, es decir este efecto q muestras
Por: blackangel1306
Tengo una duda, es posible cargar una animacion flash y a esta agregarle el efecto de agua???

Es decir, no vincular una imagen sino una animacion (swf).

Muchas gracias, saludos
Por: Jorge-blog
Para Zguille. el agua nunca está quieta
jejeje :)
Por: Abel.commonpulppeople-blo
ola
ola
pa ti mi cola¡¡¡¡

jajajajaj
Por: poya con pelos-blog
muy buenas, tengo varios problemas...el rollover perfecto pero siempre me sale una mano como si toda la imagen fuera un boton...otro problema es que no se me ve nada más de la película, se queda siempre por encima de todo lo demás y ya lo tengo colocado en una capa inferior...ayuda please!!!

Muchas gracias.
Por: luis-blog
este codigo es libre

gracias
Por: Carlos-blog
Bueno primero que todo es muy bueno
Por: Carlos-blog
como le cambio las coordenadas al bitmap?
Por: Pamela-blog
marikones
Por: pedo-blog
Necesito que me realizen un efecto de agua para un logo, por favor comunicarse urgente, algo puedo pagar por este trabajo.

Gracias
Por: jan62
hola me llamo ana y tengo el siguiente problema ...yo nose como aparecio el efecto ola sobre mis paginas y no lo puedo sacar ...por favor les pido que si alguien me podria ayudar con este problema ..los codigos y demás para solucionarlo nose donde van ..donde tendria que entrar para solucionar este efecto ? gracias desde ya beso para todos !!
Por: anapek-blog
Hola, que tal, es un excelente efecto. yo lo intenté implementar, pero las olas no salen como en el ejemplo. nunca paran y eso hace que no se vean bien. Segun esto, ese valor de .9958 podria ser la causa. pero la pregunta es cómo puedo saber cual valor debo poner para mi imagen?. GRACIAS :)
Por: ABLOCE123-blog
Excelente trabajo!!!
Me gustaría saber cual es es parámetro para hacer las ondas más grandes, miro el código pero no lo visualizo.

¿En el parámetro de la fuerza sirve para hacer las ondas más agresivas?

Me explico, que se note más el radio de onda y onda, o para que se dispersen más rápido.
Por: Jeoph-blog
el efecto de onda de gota pero en un fotograma determinado y que sea automatico
Por: eliu-blog
hola lo que quiero hacer es que este efecto este en un logo a la mitad de mi esceneario que mide 1024 x 768 porque lo que hace el loadbitmap es ponerme la imagen en la esquina superior izq, como le hago para que este en el centro?????
Por: jose luis-blog
como se hacen esos efectos, osea , cuando alguien recien descubre que esto existe, jajja como yo como aprendo
con que programas ?¿
porfa respondeme
Por: betzabe -blog
hola! muy interesante nose NADA de action script pero ya intente hacer este efecto y despues de 2 dias me salio! jajaja aprendo lento pero tengo un problema cuando exporto la pelicula este efecto agua aparece arriba y no deja ver lo ke tengo en el fondo (porke tengo una imgen de un lago abajo) y encima esta la parte del lago que se "mueve" pero no aparece en el lugar ke lo pongo en la escena sino aparece arriba (top) como puedo acomodarlo tal y donde seria el area del "lago en movimiento"? de antemano gracias
Por: jpow-blog
exelente codigo, solo una duda disculpen por la ignorancia,pero se supone que este codigo es para cualquier imagen.. como se configura eso?.
gracias
Por: elsuperkucho
Por favor dos cosas:

¿Alguien sabe como hacer que inicie sin necesidad de pasar el puntero?

¿Alguien sabe si en vez de imagen puede hacerse encima de un MC animado?

Graciassss!!
Por: FlamingoX
excelente Teseo, te fajas cada dia mas.... :)
Por: javamacion-blog
Hola

perdon ya me funciono el gran ejemplo del efecto agua pero lo que no logro es centrar la imagen y que no aparezca en el lado iquirdo superior
Por: Lluvnei montiel-blog
Hola

Teseo, si me podrias ayudar para saber como puedo hacer que todo el efecto quede centrado o en el lugar que mejor me agrade ya intente cambiar valores poero no puedo
Por: Lluveni -blog
Como importar imágenes con efecto de agua a los foros, por ser flash no lo permiten.

((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 = 60;// 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);
onda();
onMouseDown = function () {
pul = true;
clearInterval(ID);
ID = setInterval(onda, 30);
}
onMouseUp = function () { pul = false;}
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);
}
}
Por: Sandy-blog
Hey man muchas gracias por el aporte no soy bueno con flash, pero vaya si que te entendi muy bien saludos.
Por: Qart8-blog
Deja un comentario
IMPORTANTE

Recuerda ser respetuoso, no insultes a otras personas, ni uses palabrotas, hay una persona al otro lado de la pantalla.

Habla bien, NO ESCRIBAS EN MAYUSCULA TODO, no escribas como en un SMS, evita cosas como "ke", "x q" y demás abreviaciones.

Aquí funcionan las etiquetas de los foros, puedes usar [b] para negrita, [img] para las imágenes, [url] para los enlaces, etc.

Si tienes preguntas técnicas, envíalas mejor al foro.