Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/02/2012, 00:53
waguen
 
Fecha de Ingreso: enero-2012
Mensajes: 17
Antigüedad: 10 años, 5 meses
Puntos: 1
Problema con Instancias anidadas

Buenas noches gente ;) !! Bueno les paso a comentar mi problema :(

Resulta que estoy diseñando un Website en Flash cs4, y decidi hacerlo con AS3 (en el cual no soy tan bueno, pero lo voy entendiendo).




El tema es el siguiente: Tengo un MovieClip llamado "botonera" (nombre de instancia: botones), y adentro de esta estan los botones (cada uno con su nombre de instancia). Lo que tengo que hacer es el simple efecto de Roll_Over y Roll_Out (despues me enfoco en el estado de click).

El tema es que son instancias anidadas, entonces para crear las funciones, y para agregarle el Listener a la instancia del boton (inicio_mc por ej.), tendria que hacer esto: "botones.inicio_mc.addEventListener(y el resto...)"

Hasta ahi va bien, pero el MovieClip Botonera comienza en el frame 10 (en la escena principal), y los botones dentro del MovieClip Botonera comienzan unos fotogramas mas adelante PORQUE antes de que aparezcan tiene una animacion previa (para q aparezcan de a poco en la pagina)..

Conclusion, todo esto hace que me tire este error:
TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.
at Prueba_fla::MainTimeline/frame1()


Creo yo y por lo que pude averiguar, que no encuentra la instancia a la que hago referencia (tanto "botones" como "inicio_mc" ) en el fotograma 1 y tira error. Yo descubri una forma media crota de arreglarlo temporalmente, que esta en poner desde el fotograma 1 la instancia del boton a programar, en alpha 0 (para q sea invisible) y cuando llegaba el frame que tenia que aparecer, lo hacia visible. Pero esto me parece muy croto, porque tendria que estar poniendo el doble de simbolos en la linea de tiempo; tiene que haber una foma mas optima.


Les dejo el archivo .FLA (272kb) para que vean de que hablo. Esta echo a modo de ejemplo para no pasarles toooodo el website, tiene las cosas que son relevantes al problema

[url]http://www.mediafire.com/?lz7zvxk9ncdr7bw[/url]


Les agradeceria mucho su ayuda, ya que estoy hace varios dias dando vueltas con esto :@