Botones en AS3
Al programar en actionscript 3 hay que tener en cuenta que que las instancias de moviclip y botones no se les podrá agregar acciones mediante los métodos onPress() u onRelease() . Estos métodos dejaron de existir y pasaron a convertirse en eventos que deben ser manipulados mediante listeners.
Mediante este pequeño ejemplo veremos como incorporar una acción de un botón:
Primero se añade un nuevo botón en el escenario, existen varias formas para esto:
- Dibujar una figura en el escenario y transformarlo a un símbolo de tipo botón.
- Desde el menú insertar, escoger nuevo símbolo, seleccionar botón, automáticamente se abre el editor de símbolos y se procede a crear el botón.
- Insertar un botón de las bibliotecas comunes.
entre otros, si desean otras formas para hacer esto pueden verlo en el tutorial integrado en la ayuda de flash.
como segundo paso, nombre la instancia del botón que está presente en el escenario, para el ejemplo usamos la palabra boton (las etiquetas en flash no usan tildes, ni eñes, ni espacios, de hceho están reguladas por las mismas normas para el nombrado de las variables, para mas información mira la documentación de flash)
TIP
El autocompletar de flash puede interpretar el tipo de variable a manejar de acuerdo a las primeras letras del nombre de variable, por eso se recomienda usar los prefijos bot_ para las instancias de botones y mc_ para las instancias de movie clips.
Tu escenario debe parecerse a lo que se muestra en la imagen:
como tercer punto, abre el panel de acciones en el keyframe donde está tu botón (luego se explicará algo de buenas prácticas de localización de código) y añade el código a continuación:
/*se adiciona un listener de eventos que sera disparado cada vez que se hace click en el boton*/
boton.addEventListener(MouseEvent.CLICK,mostrar);
/*
funcion mostrar: muestra en consola un texto cada vez que ocurre un evento del mouse
parametros: event, es un MouseEvent;
para mas informacion sobre MouseEvent ver:
retorna: nada
*/
function mostrar(event:MouseEvent){
trace(”Presionar”);
}
//fin de programa
Ahora prueba tu película y cada vez que presiones el botón que creaste debe aparecer un mensaje en la consola.

December 1st, 2008 at 7:56 am
No sirve. Es frustrante el cambio en CS3 y CS4. No está claro.
February 5th, 2009 at 7:28 am
No pueden ser mas claros Nada..
February 22nd, 2010 at 3:45 pm
hola .
si tratamos de correr el ejemplo nos dice donde esta el error
(error 1093 error de sintaxis, ORIGEN trace(presionar) ),
explicacion: el error esta en las comillas del trace….
nota: cuando queramos imprimir en la consola , la cadena o String q pasamos debe estar entre comillas dobles o simples. pero siempre tiene q qedar de color “verde” lo q esta entre las comillas.
/*se adiciona un listener de eventos que sera disparado cada vez que se hace click en el boton*/
boton.addEventListener(MouseEvent.CLICK,mostrar);
/*
funcion mostrar: muestra en consola un texto cada vez que ocurre un evento del mouse
parametros: event, es un MouseEvent;
para mas informacion sobre MouseEvent ver:
Sitio
retorna: nada
*/
function mostrar(event:MouseEvent){
trace(”Presionar”);
}
//fin de programa
February 22nd, 2010 at 3:49 pm
.
.
.
jeje ,aqui en la pag hay algo q cambia las comillas ….cuando bajen el ejemplo CAMBIENLAS manualmente.
saludos