Subscribe to RSS Feed

Subscribe to Comments Feed

Subscribe to Atom Feed

Soportalo

Otro blog más de WordPress
  • Información

Efecto Crecer Boton al pasar Mouse en Flash

por admin Etiquetas: Flash, Programacion
19 02 2009

bueno este es el efecto de un boton que creece conforme el mouse se acerca a el

bueno primero crearemos un dibujo , imagen , lo que ustedes quieran,
cuando hayan terminado despues lo selecionan todo y presionan f8, lo convierten en clip de pelicula, con su punto de registro en la parte central, si por default lo tienen en otro punto solo den doble clik sobre el clip para editarlo y de acuerdo a su ancho ,acomodenlo a la mitad por ejemplo
si es de 80 x 80 entonces solo pongano en x = -40 y= -40
ahora salgan de la edicion , seleccionen el clip
y pongan este codigo

Código :

onClipEvent(load){
Ancho=this._width;
Aumento=200;
perimetro=this._width+20;
}
onClipEvent (enterFrame){
x = this._xmouse;
y = this._ymouse;
radio = Math.sqrt(x*x+y*y);
if (radio < perimetro){
this._yscale += ((Aumento-radio)-this._yscale)/6;
this._xscale = this._yscale;
}
else {
this._yscale += (100-this._yscale)/6;
this._xscale = this._yscale;
}
}

y listo el efecto esta terminado, ahora procedere a explicarles como funciona

Código :

onClipEvent(load){
Ancho=this._width;
Aumento=200;
perimetro=this._width+20;
}

esta parte se efectua cuando se carga el clip por lo tanto solo lo hara una vez

dentro de el estan las acciones a ejecutarse, que en este caso es declarar ancho y aumento, en ancho , obtiene el ancho de el clip para determinar el area de egistro de actividad del mouse
despues en aumento asigna 200, este es el porcentaje que queremos que creesca nuestro clip en este caso crecera un 200% se obtiene el ancho y se le añade 20 pixeles mas para obtener el perimetro a partir del cual detectaremos la cercania del mouse

Código :

onClipEvent (enterFrame){

esto hara que cada vez que revise este objeto se ejecute el codigo siguiente

Código :

x = this._xmouse;
y = this._ymouse;

en esta parte se almacena en x y en y la posicion, tanto columna como fila de el mouse dentro del mc para las ecuaciones que necesitamos hacer

Código :

radio = Math.sqrt(x*x+y*y);

en esta se obtiene a que distancia esta obteniendo el radio, e

esto verifica que el radio sea menor a el area de impacto que hemos definido, que es el ancho original de lapelicula

Código :

this._yscale += ((Aumento-radio)-this._yscale)/3;
this._xscale = this._yscale;

en esta parte lo que hace es que quita del aumento el radio, por lo tanto entre menos radio, osea mas ccerca, mas crece, se le resta la escaa actual
y se le divide entre 36 para un efecto fluido , esto se puede cambiar, mas pequeño el numero mas rapido y mas seco, mas grande , mas fluido pero mas lento, yo recomiendo 6

despues asigna la misma escala a xscale por qu ees cuadrado

Código :

else {
this._yscale += (100-this._yscale)/6;
this._xscale = this._yscale;
}

esta parte se ejecuta si el mouse esta fuera del area de impacto de el boton
entonces hace una disminucion hasta el 100 % , lo que es el tamaño original

y listo eso es todo , nada complicado ^^

0 commentario/s

Dejar una respuesta

Clic para cancelar respuesta.

Credits &Trad: Bingo, c10