
Debo realizar un juego en flash, y en una zona de éste hay un salón con forma de octágono, y el jugador podrá moverse entre cada una de las paredes con las típicas flechas de navegación, así que la flecha siguiente en la pared 1 llevará a la 2, de la 2 a la 3, y así sucesivamente, hasta la 8, donde la flecha siguiente debe llevar de regreso a la 1, lo mismo pasa con la flecha anterior, de la 8 debe pasar a la 7, de la 7 a la 6 y luego de las demás, de la 1 debe volver a la 8 para así completar un circuito cerado.
No tengo ningún problema con aquellas flechas que llevan a un lugar que es consecutivo al que me encuentro.
Debo aclarar que cada pared se encuentra en un fotograma diferente, las flechas de navegación se ubican en otra capa por encima de éstas, y luego hay una capa de acciones, la cual me ejecuta una función que está en un archivo .as.
el código que se encuentra en cada uno de los fotogramas de el .fla es el siguiente:
Código ActionScript :
stop(); activarbotonesnavegacion();
Y luego el código completo del .as es el siguiente:
Código ActionScript :
package { import flash.display.* import flash.display.MovieClip; // importa el movie clip de flash import flash.events.MouseEvent; // importa los eventos mouseEvent desde el flash import flash.display.SimpleButton; // evita algunos errores con botones simples import flash.utils.Timer; // importa el timer import flash.events.TimerEvent; // importa los eventos del timer import flash.system.fscommand; // importa eventos de comandos sencillos public class juego extends MovieClip { public function activarbotonesnavegacion():void{ flechahallfinal.addEventListener("click",hallfinal); flechahallsiguiente.addEventListener("click",hallsiguiente); flechahallinicio.addEventListener("click",hallinicio); } public function hallfinal(event:MouseEvent):void{ gotoAndStop(8,"Hall"); } public function hallsiguiente(event:MouseEvent):void{ nextFrame(); } public function hallinicio(event:MouseEvent):void{ gotoAndStop(1,"Hall"); } //Menu Principal //Activar botones public function activarbotonesmenu():void{ botoniniciar.addEventListener("click",iniciar); botonayuda.addEventListener("click",ayuda); botoncreditos.addEventListener ("click",creditos); botonsalir.addEventListener ("click",salir); } //funciones de botones public function iniciar(event:MouseEvent):void{ gotoAndStop(1,"Hall"); import flash.media.SoundMixer; SoundMixer.stopAll(); } public function ayuda(event:MouseEvent):void{ gotoAndStop(2); import flash.media.SoundMixer; SoundMixer.stopAll(); } public function creditos(event:MouseEvent):void{ gotoAndStop(3); import flash.media.SoundMixer; SoundMixer.stopAll(); } public function salir(event:MouseEvent):void{ import flash.media.SoundMixer; SoundMixer.stopAll(); fscommand("quit"); } } }
Casi todo el código funciona bien, aunque da errores como los siguientes:
TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.
at juego/activarbotonesnavegacion()[C:\Users\Jorge\Desktop\Juego casa del terror\Casa del Terror\Flash\Flash\FLA\juego.as:15]
at juego/frame11()[juego::frame11:2]
at flash.display::MovieClip/gotoAndStop()
at juego/hallfinal()[C:\Users\Jorge\Desktop\Juego casa del terror\Casa del Terror\Flash\Flash\FLA\juego.as:22]
Sin embargo, la sección de flechahallinicio, y de la función hallinicio no dan error y no activa la función que me debe volver desde el fotograma 8 al 1.

Lo he intentado todo, desde reescribir todo el código, a revisar cada una de las instancias, revisar mayúsculas y minúsculas, copiar el mismo botón con la misma instancia en el fotograma uno con un alfa en 0%, pero sencillamente nada funciona...
Agradecería mucho la ayuda de ustedes,
muchas gracias
jorge77401