Les presento un problema que estoy teniendo. Estoy haciendo una presentación en Flash CS5.5 y AS3, es mi primera vez con ambos, la presentación esta montada en powerPoint, y mediante archivos de Photoshop (donde se encuentra el diseño) lo estoy montando en Flash.
Ahora, en el fotograma 1 tengo un MovieClip con el menú dentro, en los fotogramas 2, 3, 4, 5 y 6 tengo respectivamente los temas que se citan en el menú, dentro de MovieClips también.
El código AS3 de los botones de navegación los tengo en la linea principal de tiempo, haciendo referencia a ellos.
Pruebo la película y todo bien, no hay errores, voy al tema "X", y realiza la acción, en dentro de este tema hay un botón "Menú", que me devuelve al fotograma uno, la acción la realiza, pero en el momento que la realiza me aparece un error, en el cual dice que no se puede acceder a un método nullo, pero si llego al fotograma 1, el problema es que luego del error ningún botón sirve.
En otras palabras, cuando inicio la película los botones de menú sirven, pero cuando con otro botón me devuelvo al fotograma del menú, ya no sirven.
Ya probé removiendo el Listener y tampoco sirve.
Dejo acá el AS3 de los Botones del menú, y luego el de los botones de navegación.
Código ActionScript :
stop (); import flash.events.MouseEvent; portada_mc.presentacion_btn.addEventListener(MouseEvent.CLICK, navegacion); portada_mc.economia_btn.addEventListener(MouseEvent.CLICK, navegacion); portada_mc.tecnico_btn.addEventListener(MouseEvent.CLICK, navegacion); portada_mc.ambiente_btn.addEventListener(MouseEvent.CLICK, navegacion); portada_mc.productos_btn.addEventListener(MouseEvent.CLICK, navegacion); function navegacion(evento:MouseEvent):void { portada_mc.presentacion_btn.removeEventListener(MouseEvent.CLICK, navegacion); portada_mc.economia_btn.removeEventListener(MouseEvent.CLICK, navegacion); portada_mc.tecnico_btn.removeEventListener(MouseEvent.CLICK, navegacion); portada_mc.ambiente_btn.removeEventListener(MouseEvent.CLICK, navegacion); portada_mc.productos_btn.removeEventListener(MouseEvent.CLICK, navegacion); switch (evento.target.name) { case "presentacion_btn": gotoAndStop ("presentacion"); break; case "economia_btn": gotoAndStop ("economia"); break; case "tecnico_btn": gotoAndStop ("tecnico"); break; case "ambiente_btn": gotoAndStop ("ambiente"); break; case "productos_btn": gotoAndStop ("productos"); break; default: break; } }
Código ActionScript :
stop(); import flash.events.MouseEvent; plantilla_mc.menu_btn.addEventListener(MouseEvent.CLICK, menu); plantilla_mc.anterior_btn.addEventListener(MouseEvent.CLICK, anterior); plantilla_mc.siguiente_btn.addEventListener(MouseEvent.CLICK, siguiente); plantilla_mc.salir_btn.addEventListener(MouseEvent.CLICK, salir); function menu(evento:MouseEvent):void { plantilla_mc.menu_btn.removeEventListener(MouseEvent.CLICK, menu); plantilla_mc.anterior_btn.removeEventListener(MouseEvent.CLICK, anterior); plantilla_mc.siguiente_btn.removeEventListener(MouseEvent.CLICK, siguiente); plantilla_mc.salir_btn.removeEventListener(MouseEvent.CLICK, salir); gotoAndStop(1); } function anterior(evento:MouseEvent):void { plantilla_mc.menu_btn.removeEventListener(MouseEvent.CLICK, menu); plantilla_mc.anterior_btn.removeEventListener(MouseEvent.CLICK, anterior); plantilla_mc.siguiente_btn.removeEventListener(MouseEvent.CLICK, siguiente); plantilla_mc.salir_btn.removeEventListener(MouseEvent.CLICK, salir); prevFrame(); } function siguiente(evento:MouseEvent):void { plantilla_mc.menu_btn.removeEventListener(MouseEvent.CLICK, menu); plantilla_mc.anterior_btn.removeEventListener(MouseEvent.CLICK, anterior); plantilla_mc.siguiente_btn.removeEventListener(MouseEvent.CLICK, siguiente); plantilla_mc.salir_btn.removeEventListener(MouseEvent.CLICK, salir); nextFrame(); } function salir(evento:MouseEvent):void { plantilla_mc.menu_btn.removeEventListener(MouseEvent.CLICK, menu); plantilla_mc.anterior_btn.removeEventListener(MouseEvent.CLICK, anterior); plantilla_mc.siguiente_btn.removeEventListener(MouseEvent.CLICK, siguiente); plantilla_mc.salir_btn.removeEventListener(MouseEvent.CLICK, salir); gotoAndStop("ultimo"); }
Si necesitan el archivo *.fla me dicen y con gusto lo subo.