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

Problemas con botones

Estas en el tema de Problemas con botones en el foro de Flash y Actionscript en Foros del Web. Hola, tengo una pelicula principal con un menú, que al dar click debería cargar las películas que corresponden a cada elemento del menú, en los ...
  #1 (permalink)  
Antiguo 17/09/2010, 11:16
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 967
Antigüedad: 21 años, 6 meses
Puntos: 8
Problemas con botones

Hola, tengo una pelicula principal con un menú, que al dar click debería cargar las películas que corresponden a cada elemento del menú, en los botones tiene su animación propia y desde la linea de tiempo principal hago el as3 que debe cargar los swf.

En esta parte pongo los listener para los botones:

Código AS3:
Ver original
  1. MovieClip(root).mcPelicula.mcMenu.mcNosotros.btnNosotros.addEventListener(MouseEvent.CLICK, fCargarContenido);
  2. MovieClip(root).mcPelicula.mcMenu.mcNosotros.btnServicios.addEventListener(MouseEvent.CLICK, fCargarContenido);
  3. MovieClip(root).mcPelicula.mcMenu.mcNosotros.btnContacto.addEventListener(MouseEvent.CLICK, fCargarContenido);
  4.  
  5. function fCargarContenido(e:MouseEvent):void {
  6.     switch (e.currentTarget.name) {
  7.         case "MovieClip(root).mcPelicula.mcMenu.mcNosotros.btnNosotros":
  8.             swfReq.url = "nosotros.swf";
  9.             break;
  10.     }
  11.         swfLdr.load(swfReq);
  12. }

Pero no sucede nada, así que le puse un trace a ver que me sale y me sale que no se puede hacer referencia a un objeto nulo.

Código AS3:
Ver original
  1. function fCargarContenido(e:MouseEvent):void {
  2.     trace(e.currentTarget.name);
  3. }
A ver si me pueden dar una manito.
__________________
El aprendiz.
  #2 (permalink)  
Antiguo 17/09/2010, 16:54
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: Problemas con botones

Hola
y esta variable que es?? swfReq
el error es porque se trata de acceder a un elemento
que no esta disponible en ese momento
pregunto algo, alcanza a hacer el trace o manda el error antes del trace??
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 18/09/2010, 14:32
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 967
Antigüedad: 21 años, 6 meses
Puntos: 8
Respuesta: Problemas con botones

El swfReq está declarado arriba es un URLRequest, el mensaje de error me sale en el panel de salida. Te pongo todo el as3 a ver si por ahi detectas algo.
Código AS3:
Ver original
  1. import flash.display.Sprite;
  2. import flash.net.URLRequest;
  3. import flash.display.Loader;
  4. import flash.events.Event;
  5. import flash.events.MouseEvent;
  6. import flash.events.ProgressEvent;
  7. import flash.text.TextField;
  8. import flash.text.TextFormat;
  9.  
  10. stop();
  11.  
  12. var swfCon:Sprite = new Sprite();
  13. swfCon.x = swfCon.y = 0;
  14. addChild(swfCon);
  15.  
  16. var swfReq:URLRequest = new URLRequest();
  17. var swfLdr:Loader = new Loader();
  18.  
  19. swfLdr.contentLoaderInfo.addEventListener(Event.COMPLETE, fCompletar);
  20. swfLdr.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, fProgreso);
  21.  
  22. if (!swfCon.numChildren) {
  23.     swfReq.url = "home.swf";
  24.     swfLdr.load(swfReq);
  25.     swfCon.addChild(swfLdr);
  26. }
  27.  
  28. MovieClip(root).mcPelicula.mcMenu.mcNosotros.btnNosotros.addEventListener(MouseEvent.CLICK, fCargarContenido);
  29. MovieClip(root).mcPelicula.mcMenu.mcServicios.btnServicios.addEventListener(MouseEvent.CLICK, fCargarContenido);
  30. MovieClip(root).mcPelicula.mcMenu.mcContacto.btnContacto.addEventListener(MouseEvent.CLICK, fCargarContenido);
  31.  
  32. function fCargarContenido(e:MouseEvent):void {
  33.     trace(e.currentTarget.name);
  34.    
  35.     switch (e.currentTarget.name) {
  36.         case MovieClip(root).mcPelicula.mcMenu.mcNosotros.btnNosotros:
  37.             swfReq.url = "nosotros.swf";
  38.             break;
  39.         case MovieClip(root).mcPelicula.mcMenu.mcServicios.btnServicios:
  40.             swfReq.url = "servicios.swf";
  41.             break;
  42.         case MovieClip(root).mcPelicula.mcMenu.mcContacto.btnContacto:
  43.             swfReq.url = "contacto.swf";
  44.             break;                
  45.     }
  46.     swfLdr.load(swfReq);
  47. }
  48.  
  49. function fCompletar(e:Event):void {
  50.     if (swfCon.numChildren) {
  51.         swfCon.removeChildAt(0);
  52.     }
  53.     swfCon.addChild(e.target.content);
  54. }
  55.  
  56. function fProgreso(e:ProgressEvent):void {
  57.     var loadedBytes:Number = Math.ceil(e.bytesLoaded / 1024);
  58.     var totalBytes:Number = Math.ceil(e.bytesTotal / 1024);
  59.     var percent:int = (e.bytesTotal / e.bytesTotal) * 100;
  60.     var txtCargador:TextField = new TextField();
  61.     var txtFormato:TextFormat = new TextFormat("Trebuchet MS", 40, 0x000000);
  62.     txtCargador.autoSize = TextFieldAutoSize.CENTER;
  63.     txtCargador.text = percent + " %";
  64.     txtCargador.x = txtCargador.y = 400;
  65.     txtCargador.defaultTextFormat = txtFormato;
  66.    
  67.     swfCon.addChild(txtCargador);
  68. }
__________________
El aprendiz.
  #4 (permalink)  
Antiguo 18/09/2010, 20:02
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: Problemas con botones

Hola
bueno, pues no veo nada raro, así que te sugiero
pongas segmentos de código en comentarios
por secciones, y en algún punto seguro encuentras
que es lo que te esta generando ese mensaje

saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Etiquetas: botones
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 23:41.