Comunidad de diseño web y desarrollo en internet online

Problemas para acceder a elementos de una escena.!

Citar            
MensajeEscrito el 17 Dic 2007 01:45 pm
Hola foro.

Mi duda es la sig. ! , tengo un par de escenas en Flash ! (A y B), en la escena A tengo un boton que lo que hace es correr la pelicula a la siguiente escena, ahora, en la scena B hay un clip que se llama circ, pero cuando trato de acceder a el me da el sig. error.!

Código :

TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.
   at main$iinit()


Aqui el codigo completo .!

Código :

package {
   import flash.display.MovieClip;
   import flash.events.MouseEvent;
   
   public class main extends MovieClip {
      public function main()
      {
         stop(); 
         boton.addEventListener(MouseEvent.MOUSE_DOWN, 
                           function (e : MouseEvent ) : void
                           {
                              this.nextScene(); //Me muevo para la siguiente escena
                              circ.alpha = 10; //Intento cambiarle el alpha al circulo.!
                           });
      }
   }
}


?? como puedo esquivar este error .. :?

salu2 ^^

Por Zandy

Claber

1345 de clabLevel

5 tutoriales

Genero:Masculino   Premio_Secretos

firefox
Citar            
MensajeEscrito el 17 Dic 2007 05:42 pm
supongo que tiene que ver con eso de que cuando no has entrado a una escena los objetos en ella no se han creado y por eso el flash player te manda el error, tendrías que cambiar la propiedad ya estando en la escena o seguir el consejo de Zguillez de no usar escenas.

Suerte!

Por master_of_puppetz

Claber

2483 de clabLevel

7 tutoriales
3 articulos

Genero:Masculino   Premio_Secretos

WebDev (Flex + PHP + JS)

firefox
Citar            
MensajeEscrito el 17 Dic 2007 06:00 pm
Si parece que la solucion que tendre que asumir sera la de no usar escenas....!

salu2 y gracias..! ^^

Por Zandy

Claber

1345 de clabLevel

5 tutoriales

Genero:Masculino   Premio_Secretos

firefox
Citar            
MensajeEscrito el 17 Dic 2007 08:13 pm
bueno me ha salido esto....

Código :

package {
   import flash.display.MovieClip;
   import flash.events.EventDispatcher;
   import flash.events.MouseEvent;
   import flash.events.Event;

   public class main extends MovieClip  {
      public function main()
      {
         stop();
         boton.addEventListener(MouseEvent.MOUSE_DOWN, kl);
      }      
      
      private function kl(e : MouseEvent):void
      {
         this.gotoAndStop(2);
         this.addEventListener(Event.ENTER_FRAME, op);
      }
      
      private function op(e : Event):void
      {
         //Hasta que no se hayan pintado los objeto no se accede a sus propiedades .!
         try{
            salir.label = "Joris";
            this.removeEventListener(Event.ENTER_FRAME, op);
         }
         catch (e : Error)
         {
            //NO pasa nada pues se intenta desesperadamente ponerle label al boton de la scena 2
         }
      }
   }
}


y es que encerre en un try catch la linea que cambia la propiedad al objeto, y hasta que no se le asigne,,, sigo con el enterFrame, cuando se le asigne, elimino el enterFrame ..!

de todas maneras deja ver si encuentro algo un poco mas optimo.!
salu2

Por Zandy

Claber

1345 de clabLevel

5 tutoriales

Genero:Masculino   Premio_Secretos

firefox
Citar            
MensajeEscrito el 17 Dic 2007 08:30 pm
no podrías implementar una función de verificación de frames? si esta en el frame x que haga cierta acción?

Por master_of_puppetz

Claber

2483 de clabLevel

7 tutoriales
3 articulos

Genero:Masculino   Premio_Secretos

WebDev (Flex + PHP + JS)

firefox
Citar            
MensajeEscrito el 17 Dic 2007 09:01 pm
Si el problema es que inmediatamente que pasa de frame el NO carga los componentes, yo facilmente puedo decir despues que pongo gotoAndStop(2) que estoy en el frame 2 pero si no hago lo que esta abajo es como si nada... el tema es que inmediatamente que paso al frame 2 no se cargan todos los componentes y por eso tengo que darle como que un tiempito minimo a que lo haga y hay es donde entra el onterFrame que puse, el intenta darla la propiedad hasta que lo logra..!..

salu2

Por Zandy

Claber

1345 de clabLevel

5 tutoriales

Genero:Masculino   Premio_Secretos

firefox
Citar            
MensajeEscrito el 19 Abr 2009 10:14 am
jajaj llegue aki
buscando ese error
y el problema que tenia un stop en el frame que seguia de la carga

Por zErG_aTtAcK

3 de clabLevel



 

Antofagasta

firefox
Citar            
MensajeEscrito el 20 Abr 2009 06:36 am
Zandy, en cualquier modo, si quieres usar Escenas, puedes seguir usándolas sin tanto onEnterFrame. Basta con que el UNICO código de tu Escena sea una llamada a una función

Código ActionScript :

inicializarEscenaA();
stop()

En el primer frame de tu película o en la clase de documento defines la función "inicializarEscenaA"

Por Eliseo2

710 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.