En este tutorial veremos cómo crear un botón sencillo con efecto RollOver, RollOut y Clic en ActionScript 3, ya que varias personas han intentado desarrollar un efecto como lo era en AS2 con las funciones antes mencionadas.
Como ya saben en AS2 el desarrollo de este botón era sencillo, simplemente era crear un clip de película y dentro de éste una zona activa, la cual llevaba el código:
Código :
on(rollOver){ gotoAndPlay(2); } on(rollOut){ gotoAndPlay(11); } on(release){ getURL("www.cristalab.com") }
Este nos permite desplegar una animación en un MovieClip para desarrollar botones menos rígidos y mejor animados.
Pero bueno, algunas personas se les han dificultado en AS3, pero no es tan complicado, sólo debemos hacer lo siguiente:
- Creamos un rectángulo.
- Convertimos nuestro rectángulo en un MovieClip y creamos una interpolación clásica de 30 fotogramas en el cual en el 15 se agrande nuestro rectángulo.
- En el fotograma 1 y 15 de nuestra interpolación agregamos un stop(); para determinar el estado del botón al pasar con nuestro cursor por encima de éste.
- En la escena principal o raíz de nuestro archivo y le damos un nombre de instancia a nuestro MovieClip, en mi caso le nombre como “boton1”.
- Creamos una nueva capa que se llame acciones y agregamos el siguiente código:
Código :
stop(); //funcion para ir a una escena llamada "capitulo" y al fotograma 1 de este boton1.addEventListener(MouseEvent.CLICK,presionado); function presionado(event:MouseEvent):void { gotoAndPlay(1,"capitulo"); } //funcion para ir ir al efecto RollOver o cuando el mouse pasa por encima del boton boton1.addEventListener(MouseEvent.ROLL_OVER,pasado); function pasado(event:MouseEvent):void { boton1.gotoAndPlay(2); } //funcion para ir ir al efecto RollOut o cuando el mouse se quita de encima del boton boton1.addEventListener(MouseEvent.ROLL_OUT,repasado); function repasado(event:MouseEvent):void { boton1.gotoAndPlay(16); }
Con esto pasos crearemos botones con una animación más coherente y no con la básica de un componente .
Programar varios botones
En caso de que algunos deseen programar varios botones en AS3 y no quieran crear funciones para tantos botones (además que sería molesto), les mostrare un código (aunque solo le mostraré una función para cuando presionamos el botón):
Código :
boton1.addEventListener(MouseEvent.CLICK,abrir); boton2.addEventListener(MouseEvent.CLICK,abrir); function abrir(e:Event):void { //dependiendo de si el boton es MovieClip o Boton el parametro despues de switch es MovieClip o SimpleButton switch (MovieClip(e.target)) { case boton1 : gotoAndPlay(1,"escena2"); break; case boton2 : gotoAndPlay(1,"escena3"); break; } }
Ya cada uno adaptará el código como más lo necesite. Espero les sirva.
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
Por Mariux el 29 de Septiembre de 2011
Por Dennis el 22 de Noviembre de 2011
Por suntzudennis el 22 de Noviembre de 2011
Por suntzudennis el 22 de Noviembre de 2011
Como podría mover una imagen hasta el fotograma 20 sin requerir accion de un boton?
Por Sigmax el 28 de Noviembre de 2011
Por Patricia Morales el 08 de Diciembre de 2011
El gotoAndPlay(); se usa para llamar un fotograma pero sin usarlo como boton? en AS3
Por Sigmax el 20 de Diciembre de 2011
Por Eric el 24 de Abril de 2012
Gracias
Por Eric el 24 de Abril de 2012
Por Sigmax el 25 de Abril de 2012
Por Maria Jose el 10 de Enero de 2013
Me salvaste