Foros del Web » Creando para Internet » Flash y Actionscript »

Botón en AS3

Estas en el tema de Botón en AS3 en el foro de Flash y Actionscript en Foros del Web. Hola, estoy haciendo una página web en AS3 y resulta que necesito dominar los botones como en AS2. Mis dudas son las siguientes: Más o ...
  #1 (permalink)  
Antiguo 26/07/2013, 10:52
braisremeseiro
Invitado
 
Mensajes: n/a
Puntos:
Botón en AS3

Hola,

estoy haciendo una página web en AS3 y resulta que necesito dominar los botones como en AS2. Mis dudas son las siguientes:

Más o menos se hacer un botón, pero...¿Donde inserto el código?. Tengo un stop (); en la capa principal de código de AS y me gustaría saber donde va el del botón.

Tengo entendido que el botón en AS3 se crea a partir de un MC y ya no se utiliza el botón como símbolo.

¿Cómo hago para que vaya a un determinado sitio de la página con gotoAndPlay?.

Y lo que es más importante... ¿Cómo lo comunico con otras páginas en html y con el enlace del correo?.

Gracias.
  #2 (permalink)  
Antiguo 27/07/2013, 12:22
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 10 meses
Puntos: 406
Respuesta: Botón en AS3

Hola braisremeseiro:
Crea tu botón y al ponerlo en el escenario le pones un nombre de intancia, por ejemplo: miBoton.
Crea otra capa y en el frame 1 escribe éste código:
Código actionscript:
Ver original
  1. import flash.events.MouseEvent;
  2.  
  3. miBoton.addEventListener(MouseEvent.CLICK, miFuncion);
  4. function miFuncion(event:MouseEvent):void{
  5.     gotoAndPlay(número del frame o etiqueta);
  6. }
  7. miBoton.buttonMode = true;
  8. stop();
Para ir a otra página:
Código actionscript:
Ver original
  1. import flash.net.URLRequest;
  2. import flash.events.MouseEvent;
  3.  
  4. miBoton.addEventListener(MouseEvent.CLICK, irSite);
  5. function irSite(event:MouseEvent):void
  6. {
  7.     var miPagina:URLRequest = new URLRequest("www.tupagina.html");
  8.     navigateToURL(miPagina);
  9. }
  10. miBoton.buttonMode = true;
Para aprender usar el Flash y el AS simplemente presiona la tecla F1.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #3 (permalink)  
Antiguo 28/07/2013, 06:08
braisremeseiro
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Botón en AS3

¡Hola Bandit!,

muchísimas gracias por la respuesta, si me ha servido de ayuda. Como siempre un placer atender a tus explicaciones.

Lo único que falla, se produce un error es la siguiente línea de código:

miBoton.buttonMode = true;
stop();

También me gustaría saber como tendría que hacer si quiero introducir varios botones. Razonando, supongo que habría que cambiar los nombres de instancia de los botones:

miBoton1, miBoton2, miBoton3, etc.

Y los nombres de las funciones:

irSite1, irSite2, irSite3, etc.

Por favor, ¿Podrías ayudarme?.
  #4 (permalink)  
Antiguo 28/07/2013, 07:34
braisremeseiro
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Botón en AS3

También querría saber como puedo hacer un visor, en el que al pasar el ratón por una imagen en pequeño se muestre en un determinado sitio de la pantalla en grande.
  #5 (permalink)  
Antiguo 28/07/2013, 12:18
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 10 meses
Puntos: 406
Respuesta: Botón en AS3

Cuando se hace un botón utilizando un MC, para que aparezca la manito al poner el mouse en dicho MC, se adiciona la siguiente línea de código: miBoton.buttonMode = true;. Por lo tanto si estás usando un MC como botón, no debería mostrar ningún error.
Sobre los botones, cada uno debe de tener su propios nombres de instancia, así mismo el nombre de las funciones deben de ser diferentes para cada uno de ellos.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #6 (permalink)  
Antiguo 28/07/2013, 12:43
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 10 meses
Puntos: 406
Respuesta: Botón en AS3

Hay muchas formas de hacerlo, pero como ya aprendiste a ir a un frame por medio de un botón, puedes hacer una galería muy simple, colocando cada imagen en diferentes frames y navegar entre ellos.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #7 (permalink)  
Antiguo 28/07/2013, 15:18
braisremeseiro
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Botón en AS3

¿Cómo programo un MC que haga de botón?. ¿Con stop (); en los fotogramas que quiera que pare?. Hasta ahora estaba utilizando botones como símbolos. Es que no me ha quedado nada claro.
  #8 (permalink)  
Antiguo 28/07/2013, 17:50
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 10 meses
Puntos: 406
Respuesta: Botón en AS3

En mi primer post está bien claro lo que tienes que hacer, allí tienes los códigos que debes de usar y en vez de: gotoAndPlay(); usa gotoAndStop();, para que cuando vaya al frame que quieres, se detenga.
Para hacer un botón en un MC, simplemente se dibuja el rectángulo que hará la veces de botón.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #9 (permalink)  
Antiguo 29/07/2013, 05:40
braisremeseiro
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Botón en AS3

Gracias de nuevo Bandit.

Sólo una última cosa, ¿Cómo añado al botón un enlace a una dirección de e-mail?. ¿Es con mailto?.
  #10 (permalink)  
Antiguo 29/07/2013, 11:12
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 10 meses
Puntos: 406
Respuesta: Botón en AS3

Porque mejor no creas una página Contacto y allí pones un fromulario para que te envien los correos, en la Web hay muchos tutoriales.
El mailto es para que al hacer clic en el botón abra el Outlook.
El código sería así:
Código actionscript:
Ver original
  1. btn_contacto.addEventListener(MouseEvent.CLICK, enviaCorreo);
  2. function enviaCorreo(event:MouseEvent):void
  3. {
  4. navigateToURL(new URLRequest("mailto:[email protected]", "_self"));
  5. }
Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #11 (permalink)  
Antiguo 29/07/2013, 15:37
braisremeseiro
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Botón en AS3

Hola Bandit,

gracias de nuevo.

Tienes razón en lo del formulario.

Otra duda, espero que sea la última:

Tengo el siguiente código en un botón hecho en AS2:

on (release) {
al = 1024;// alto del popup a lanzar
an = 724;// ancho del popup a lanzar
getURL("javascript:NewWindow=window.open('../grafico/Normide/desplieguenormide.html' ,'pop1','width=724,height=1024,toolbar=No,location = No,scrollbars=Yes,status=No,resizable=No,fullscree n =No,top='+((screen.height/2)-("+al/2+"))+',left='+((screen.width/2)-("+an/2+"))+'"+"');void(0);");
}

Resulta que hay otros botones en la página web que estoy trabajando y tras abrir una ventana con este código si quiero abrir otra me la abre en la misma ventana, y no se adapta en ancho y alto de la nueva ventana. Utiliza las mismas dimensiones, es decir, que si abro una ventana de 1024 X 724 px y la siguiente es de 400 X 200 px resulta que la abre en la misma. ¿Podría desplegar varias ventanas introduciendo un blank dentro del código?.
  #12 (permalink)  
Antiguo 31/07/2013, 03:51
braisremeseiro
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Botón en AS3

Por favor, ¿Podrías responder?.
  #13 (permalink)  
Antiguo 31/07/2013, 11:34
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 10 meses
Puntos: 406
Respuesta: Botón en AS3

Si en los 2 códigos tienes "pop1" te estás refiriendo a la misma ventana, tendrás que cambiar a "pop2" en el segundo código.
Es simplemente utilizar el sentido común.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #14 (permalink)  
Antiguo 31/07/2013, 13:02
braisremeseiro
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Botón en AS3

Hola Bandit,

gracias otra vez.

¿Entonces si tengo que desplegar 13 ventanas emergentes en total, tendría que llamar en el código 13 pop-ups?. ¿Y si las ventanas son de la misma anchura y altura ¿Debería referirme a ellas como 1, 2, 3, etc?.

Otra cosilla, no acabo de entender del todo la jerarquía de la línea de tiempo. Más concretamente me refiero a los MC, me parece extraño que en un frame se despliegue la animación del clip sin problemas de espacio. Vamos que puedo hacer una animación de 2000 fotogramas y resulta que están en uno solamente. También querría saber si un MC admite otro MC dentro de este, supongo que anidado, y cual sería entonces su jerarquía.

Gracias.
  #15 (permalink)  
Antiguo 04/08/2013, 04:48
braisremeseiro
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Botón en AS3

Por favor, ¿Podrías responder?.
  #16 (permalink)  
Antiguo 04/08/2013, 09:04
braisremeseiro
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Botón en AS3

Hola Bandit,

estoy muy liado con una página de un tutorial que he seguido y me gustaría saber si podrías ayudarme a resolver una galería de imágenes en AS3. ¿Puedo enviarte la página?.

Última edición por braisremeseiro; 04/08/2013 a las 09:41
  #17 (permalink)  
Antiguo 04/08/2013, 12:50
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 10 meses
Puntos: 406
Respuesta: Botón en AS3

No dispongo de tiempo para dar ese tipo de ayuda.
Te sugiero que en el Foro describas el problema que tienes, para que cualquiera de los miembros te puedan ayudar a resolver tus dudas.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #18 (permalink)  
Antiguo 08/08/2013, 09:14
braisremeseiro
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Botón en AS3

Hola Bandit,

gracias de nuevo por todas tus aportaciones.

Tengo otro problema. He insertado el siguiente código en un MC de botón:

btn_contacto.addEventListener(MouseEvent.CLICK, mailto);
function mailto(event:MouseEvent):void {
var email:URLRequest = new URLRequest("mailto:[email protected]");
navigateToURL(email,"_self");
}

, y resulta que al presionarlo si va al correo pero se abre una ventana en blanco. Por favor, ¿Podrías ayudarme a solucionarlo?.

Otra pregunta, ¿Sabes si un formulario en AS3 y PHP funciona con una web en HTML, es decir un index en HTML que contenga un archivo SWF?.

Última edición por braisremeseiro; 08/08/2013 a las 09:30
  #19 (permalink)  
Antiguo 09/08/2013, 06:41
braisremeseiro
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Botón en AS3

Bandit please,

podrías decirme como hago para detener el sonido en AS3 con un botón. El sonido va en la capa 2 y es un .wav comprimido a mp3 eso creo.
  #20 (permalink)  
Antiguo 09/08/2013, 09:50
braisremeseiro
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Botón en AS3

Tengo este código:

var ruta:URLRequest = new URLRequest("afternoonnaps.wav");
var sonido:Sound = new Sound();
var canal:SoundChannel = new SoundChannel();
sonido.load(ruta);

detener_btn.addEventListener(MouseEvent.CLICK, detener);
function detener(evento:MouseEvent):void{
canal.stop();
}

y se produce:

Error #2044: IOErrorEvent no controlado: text=Error #2032: Error de secuencia. at web17_fla::MainTimeline/frame10().

Por favor, ¿Podrías ayudarme?.

Última edición por braisremeseiro; 09/08/2013 a las 11:41
  #21 (permalink)  
Antiguo 09/08/2013, 11:57
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 10 meses
Puntos: 406
Respuesta: Botón en AS3

Aquí tienes un ejemplo para reproducir y detener un sonido:
Código actionscript:
Ver original
  1. import flash.net.URLRequest;
  2. import flash.media.Sound;
  3. import flash.media.SoundChannel;
  4. import flash.events.Event;
  5. import flash.events.MouseEvent;
  6.  
  7. var ruta:URLRequest=new URLRequest("pp_musicax.mp3");
  8. var sonido:Sound = new Sound();
  9. var canal:SoundChannel = new SoundChannel();
  10. sonido.load(ruta);
  11. sonido.addEventListener(Event.COMPLETE, carga);
  12. function carga(event:Event):void {
  13.     btn_play.addEventListener(MouseEvent.CLICK, reprod);
  14.     btn_stop.addEventListener(MouseEvent.CLICK, detener);
  15. }
  16. function reprod(event:MouseEvent):void {
  17.     canal=sonido.play();
  18. }
  19. function detener(event:MouseEvent):void {
  20.     canal.stop();
  21. }
Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #22 (permalink)  
Antiguo 09/08/2013, 12:44
braisremeseiro
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Botón en AS3

Hola,

gracias por la respuesta.

Me sigue dando el mismo error:

Error #2044: IOErrorEvent no controlado: text=Error #2032: Error de secuencia.
at web17_fla::MainTimeline/frame10()
  #23 (permalink)  
Antiguo 09/08/2013, 18:36
braisremeseiro
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Botón en AS3

Hola Bandit,

ya solucioné lo del botón de detener, gracias de nuevo.

te remito mi anterior duda.

gracias de nuevo por todas tus aportaciones.

Tengo otro problema. He insertado el siguiente código en un MC de botón:

btn_contacto.addEventListener(MouseEvent.CLICK, mailto);
function mailto(event:MouseEvent):void {
var email:URLRequest = new URLRequest("mailto:[email protected]");
navigateToURL(email,"_self");
}

, y resulta que al presionarlo si va al correo pero se abre una ventana en blanco. Por favor, ¿Podrías ayudarme a solucionarlo?.

Otra pregunta, ¿Sabes si un formulario en AS3 y PHP funciona con una web en HTML, es decir un index en HTML que contenga un archivo SWF?.
  #24 (permalink)  
Antiguo 13/08/2013, 07:42
braisremeseiro
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Botón en AS3

Porfa Bandit, ¿Podrías responder?.

Etiquetas: as, as3, boton, html
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:15.