Comunidad de diseño web y desarrollo en internet online

Acceder a un MovieClip desde una Clase

Citar            
MensajeEscrito el 19 Jun 2008 09:46 am
Tengo un MovieClip en el escenario llamado mcCuadrado01; luego tengo una DocumentClass que es esta:

Código :

package {
   import flash.display.MovieClip;
   public class MoverCuadrado extends MovieClip {
      public function MoverCuadrado() {
         var vcVerCuadrado:VerCuadrado = new VerCuadrado();
      }
   }
}

Y tengo una segunda clase llamada VerCuadrado que es esta:

Código :

package {
   import flash.display.*;
   public class VerCuadrado extends MovieClip {
      public function VerCuadrado() {
         trace(mcCuadrado01);
      }
   }
}

Estan todas en la misma carpeta, pero el trace a mcCuadrado01 me devuelve error: "Acceso a una propieda mcCuadrado01 no definida" y no se como acceder a él.
Gracias por vuestra ayuda. :wink:

Por oxk4r

56 de clabLevel



 

Orense·España

firefox
Citar            
MensajeEscrito el 19 Jun 2008 09:53 am
Tu clase VerCuadrado no hace nada, el document class instancia esa nada ... ¿cual es el objetivo?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 19 Jun 2008 11:15 am
El objetivo es hacer un trace a un MovieClip que hay en el escenario. Lo pone arriba.

Por oxk4r

56 de clabLevel



 

Orense·España

firefox
Citar            
MensajeEscrito el 19 Jun 2008 11:46 am
Entonces haz lo siguiente:

1- Ponle nombre de instancia en el escenario a tu MC
2. Trazalo en el constructor de tu document class

Ej, tengo un MC de nombre de instancia cuad en el escenario, mi document class se llama Main

Código :

package{
   import flash.display.MovieClip
   public class Main extends MovieClip{
      function Main(){
         trace(cuad)   //output [object MovieClip]
      }
   }
}


SI no funciona, asegúrate de que en las opciones de publicación, flash tab, actionscript settings, tienes marcado declarar automáticamente instancias en el escenario

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 19 Jun 2008 01:18 pm
Yo quiero hacer el trace desde la clase VerCuadrado, no desde la DocumentClass.

Por oxk4r

56 de clabLevel



 

Orense·España

firefox
Citar            
MensajeEscrito el 19 Jun 2008 01:24 pm
¿desde la clase misma? Entonces como siempre: trace(this)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 19 Jun 2008 01:38 pm
A ver; lo que quiero es acceder a un MovieClip que esta en el escenario desde una clase que no es la DocumentClass y que esta en la misma carpeta que el .fla y la DocumentClass, tal como lo he puesto al principio del post.

Por oxk4r

56 de clabLevel



 

Orense·España

firefox
Citar            
MensajeEscrito el 19 Jun 2008 02:33 pm
mmm, bueno, apoyo la idea de Jorge (solisarg), pero bueno, cada loco con su idea, has lo siguiente:

en tu FLA pasarás la referencia al Stage

Código :

var t:MoverCuadrado = new MoverCuadrado(this);


en tu clase MoverCuadrado, recibirás la referencia así:

Código :

package {
   import flash.display.MovieClip;

   public class MoverCuadrado extends MovieClip {
      
      private var _aqui:MovieClip
      
      public function MoverCuadrado(aqui:MovieClip) {
         this._aqui = aqui;
         var vcVerCuadrado:VerCuadrado = new VerCuadrado(_aqui);
      }
   }
}


y en tu otra clase:

Código :

package {
   import flash.display.*;
   public class VerCuadrado extends MovieClip {
      public function VerCuadrado(aqui:MovieClip) {
         //trace(mcCuadrado01);
       trace("-->",aqui);
      }
   }
}


al ejecutar, tendrás al fin tu referencia:

--> [object MainTimeline]

Por eldervaz

BOFH

10964 de clabLevel

39 tutoriales
56 articulos

Genero:Masculino  

en algún lugar del mundo

clabbrowser
Citar            
MensajeEscrito el 19 Jun 2008 03:28 pm
Muchas gracias. ¿Y habría alguna forma de obtener una referencia del Stage en la DocumentClass sin escribir codigo en la linea de tiempo principal del .fla?

Por oxk4r

56 de clabLevel



 

Orense·España

firefox
Citar            
MensajeEscrito el 19 Jun 2008 03:42 pm
claro, al crear una clase para ser usada como DocumentClass, sólo haces:

Código :

var miVariable:MovieClip = this;

ya de ahí la utilizas

Por eldervaz

BOFH

10964 de clabLevel

39 tutoriales
56 articulos

Genero:Masculino  

en algún lugar del mundo

clabbrowser

 

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