hola a todos, alguien me podria ayudar porfa a crear en flash una fotografia q al hacerle click empieze a agitarse, como si se estuviera moviendo? Aqui tienen un ejemplo de lo q quiero hacer, lo encontre en una pagina:
http://www.elrellano.com/flash/flash19.php
jejeje es la chica q aparece abajo a la izquierda en donde dice: "Una bonita, excitante y alegre golosina para jugar con el ratón (son 15 kb. sin desperdicio). Prueba prueba.... te encantará. (Gracias Isma)."
es complicado, pero técnicamente se parece a este ejemplo (claro que el dibujo no es tan atractivo ) si no tienes buen nivel con as se te va a hacer difícil
Es una máscara (creo que un ovalo) multiduplicada. Funciones de duplicar ese MC mascara, moverlo y escalarlo según un algoritmo con easing A cada drag que se efectua se reformula y se ordenan los mismos niveles borrando automaticamente los duplicados anteriores. En definitiva: Unos veintitantos clips duplicados con la mask a escala creciente moviendose segun algoritmo.
Hay una forma más "fina" de hacerlo y sin los saltos de escala entre máscaras, puro movimiento de pixels en un bitmap. Cuando tenga un rato, lo monto y lo posteo.
Bueno, este es un código para hacer un boing! en una fotografia. No usa máscaras sino movimiento directamente sobre el mapa de bits. Evidentemente es muy afinable, pero es un ejemplo, no un trabajo.
El código es muy adaptable para otra tipo de trabajos y efectos. Aunque también me lo he montado como clase aquí en este ejemplo no la usa, mueve directamente la "imagen" con ese vínculo desde la biblioteca.
Código :
import flash.geom.*
import flash.display.BitmapData;
import flash.filters.DisplacementMapFilter;
import flash.filters.BlurFilter;
rdn = Math.PI/180; cl = 0x808080; w=400 ; h= 400;
P0 = new Point(); R0 = new Rectangle(0,0,w,h);
bmp1 = new BitmapData(w,h,true,0);
bmp1.draw(BitmapData.loadBitmap("imagen"));
bmp2 = new BitmapData(w,h,false,cl); bmp3 = bmp2.clone();
mc0 = _root.createEmptyMovieClip("mc0",1);
mc0.attachBitmap(bmp1,mc0.getNextHighestDepth());
bF = new BlurFilter(8,8,2);
dMap = new DisplacementMapFilter(bmp3,P0,2,4,100,100,"clamp");
sal = createEmptyMovieClip("sal", 2);
sal.beginGradientFill("radial",[0x00ff00,0xffffff],[100,0],[110,255],
{matrixType:"box", x:-280, y:-280, w:560, h:560, r:0});
sal.moveTo(300,0);
for (var z = 1; z<=360; z++) {
sal.lineTo(Math.cos(z*rdn)*300, Math.sin(z*rdn)*300);
}
sal.endFill(); sal._yscale= 90; sal._visible = false;
gx=12; gy=12 ; _root._y=-50; flag=true; temp = {x:sal._x,y: sal._y};
sal.onMouseDown = function (){flag = true; sal.startDrag(true);};
sal.onMouseUp = function (){flag = false; stopDrag();}
sal.onEnterFrame = function (){
if (!flag){
gx =(gx+(200-sal._x))*.93; gy =(gy +(160-sal._y))*.88;
sal._x += gx; sal._y += gy;
}
g = 128+Math.min(121, Math.max(-128,-(sal._x-temp.x)*2));
b = 128+Math.min(121, Math.max(-128,-(sal._y-temp.y)*2));
cT0 = new ColorTransform(0,0,0,1,128,g,b,0);
temp = {x:sal._x,y: sal._y};
bmp2.draw(sal, sal.transform.matrix,cT0,"hardlight");
bmp3.applyFilter(bmp2,R0,P0, bF); mc0.filters = [dMap];
}
Nota: no lo considero pr0n salvo desde el punto de vista de Linux pincha y arrastra: