Foros del Web » Creando para Internet » Flash y Actionscript »

[AS3] Acceder variables entre clases

Estas en el tema de [AS3] Acceder variables entre clases en el foro de Flash y Actionscript en Foros del Web. He aquí un problema el cual no he llegado a encontrar una solución. Tengo dos clases, una principal (CoreModus) y una que depende de la ...
  #1 (permalink)  
Antiguo 23/12/2013, 16:47
Avatar de yonic  
Fecha de Ingreso: abril-2010
Mensajes: 21
Antigüedad: 14 años
Puntos: 3
Pregunta [AS3] Acceder variables entre clases

He aquí un problema el cual no he llegado a encontrar una solución.

Tengo dos clases, una principal (CoreModus) y una que depende de la principal (Animation).

Quiero acceder la variable "modus" que se establece con el constructor de la clase CoreModus (CoreModus no es una clase del documento FLA) desde la clase Animation.

modus debería ser, en teoría, una variable global definida por ese constructor.

CoreModus.as:
Código actionscript:
Ver original
  1. package myStudio.basic {
  2.    
  3.     public class CoreModus {
  4.         public var modus:String;
  5.         public function CoreModus(estructura:String) {
  6.             modus = estructura;
  7.             /*Setup modus*/
  8.         }
  9.         public function setup():String {
  10.             return "La estructura seleccionada es " + modus;
  11.         }
  12.         public function getModus():String {
  13.             return modus;
  14.         }
  15.     }
  16.    
  17. }
Quiero acceder a la variable "modus", ya establecida en un documento FLA en Flash CS6, desde la clase Animation, pero no he conseguido acceder a la variable.

Animation.as:
Código actionscript:
Ver original
  1. package myStudio.basic {
  2.     import fl.transitions.Tween
  3.     public class Animation {
  4.         public var anim:Tween;
  5.         public function Animation() {
  6.         }
  7.         public function tryToRetrieveModus():void {
  8.             var modo:CoreModus = new CoreModus();
  9.             var modus:String = modo.getModus();
  10.             trace("Intento recuperar la variable " + modus);
  11.         }
  12.     }
  13.    
  14. }

El código del documento es el siguiente:

Código actionscript:
Ver original
  1. import myStudio.basic.CoreModus;
  2. import myStudio.basic.Animation;
  3.  
  4. var modo:CoreModus = new CoreModus("nonlinear");
  5. var mov1:Animation = new Animation();
  6.  
  7. trace(modo.setup());
  8. mov1.tryToRetrieveModus();

Lo he intentado haciendo una instancia de la clase CoreModus dentro de Animation, pero aparte de que falta un argumento para el constructor de CoreModus(), no quiero que se ejecute todo el código del constructor (he omitido todo lo que no tenía nada que ver), solo quiero que se ejecute lo necesario para acceder a la variable "modus".

No sé si me he explicado bien, pero agradezco la ayuda.

Última edición por yonic; 23/12/2013 a las 17:28
  #2 (permalink)  
Antiguo 30/12/2013, 11:57
Avatar de Kottore  
Fecha de Ingreso: octubre-2007
Mensajes: 170
Antigüedad: 16 años, 7 meses
Puntos: 8
Respuesta: [AS3] Acceder variables entre clases

Aaah... creo que es un error de argumentos.
En tu constructor pides una cadena y en la instancia no envías parámetro.

Prueba crear la instancia con un argumento, algo así:

Código ActionScript:
Ver original
  1. var modo:CoreModus = new CoreModus("lo que sea");

y nos cuentas como te fue.

Saludos
__________________
これは僕のウェブだよね。

Etiquetas: actionscript, as3, clases, flash, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:06.