Comunidad de diseño web y desarrollo en internet online

Variables estáticas comunes ?

Citar            
MensajeEscrito el 13 May 2010 09:26 am
Hola,

Creo que el asunto no es muy adecuado pero no sé exactamente como definirlo...A ver si con la explicación se entiende
algo mejor :)

Sé que en AS3 podemos hacer uso de variables estáticas del tipo:

Código ActionScript :

public static const CONSTANTE:Number= 0; 


Estas variables se pueden usar dentro de cualquier clase que utilicemos pero solo tienen validez en su interior. En otros
lenguajes de programación (C++ p.e) se pueden usar archivos .h que contienen los #defines de las constantes que necesitemos y haciendo un #include nombre_archivo.h tienen validez allá donde lo apliquemos.

Me gustaría saber si AS3 cuenta con algún tipo de archivo similar para evitar repetir las constantes una y otra vez.

Por otro lado, tengo una clase GlobalVars que contiene las variables globales para acceder a ellas desde cualquier clase.
He incluido estas constantes en la clase, pensando que así tendría acceso global pero no es así.

Código ActionScript :

package myAs{

    [Bindable]
      
   
     public class GlobalVars{
       
      
      public static const CONSTANTE:Number= 0;    
      public static const ENGLISH:String="EN";
      public static const SPANISH:String="ES";      
      
         
       // public vars:
       //Inicializamos con unos valores por defecto
       public var language:String=SPANISH;    

       // private vars
       private static var instance:GlobalVars;
   
       public function GlobalVars() {
       }    
       public static function getInstance():GlobalVars {
                  
          if (instance == null) {
                        
             instance =new GlobalVars();
            }
               return instance;
      }
        
    }//end 'class'   
   
}//end 'package'


así como sí tengo acceso a la variable language mediante:

Código ActionScript :

GlobalVars.getInstance().language

con las constantes no sucede lo mismo y me da error
"1119: Access of possibly undefined property CONSTANTEthrough a reference with static type myAs:GlobalVars."

Código ActionScript :

GlobalVars.getInstance().CONSTANTE;->>Error!

Por emedmaria

73 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 May 2010 09:33 am
no sé si se podrá usar un include

Código ActionScript :

include "variables.as"

en variables.as pones TODAS las "public static const" que quieras
NOTA:Si cambiamos el fichero "variables.as" deberemos "compilar" TODOS los .swf si fuera necesario

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 May 2010 10:07 am
Perfecto!

El include me funciona perfectamente. Lo único que 'public static' solo está permitido dentro de una clase, pero con const NOMBRE_CONST tengo suficiente :)

Así más cómodo.

GRACIAS!!

Por emedmaria

73 de clabLevel



 

firefox

 

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