Comunidad de diseño web y desarrollo en internet online

Problema con variables

Citar            
MensajeEscrito el 22 Ago 2008 10:30 pm
Hola a todos?

Tengo las siguientes instrucciones:

Código :

var cal_1:uint = 10;
var cal_2:uint = 20;
var cal_3:uint = 30;

var texto_1:String = "TEXTO_1";
var texto_2:String = "TEXTO_2";
var texto_3:String = "TEXTO_3";

var i:uint;

for (i = 1; i < 4; i++) { 
    trace(this["cal_"+i] + "   " + this["texto_"+i] );
}

// Salida:
// 10   TEXTO_1
// 20   TEXTO_2
// 30   TEXTO_3
// Hasta aqui todo esta bien


// Pero con las variables estaticas el resultado es UNDEFINED
Var_swf.BD_e1 = "100";
Var_swf.BD_e2 = "90";
Var_swf.BD_e3 = "80";

trace(Var_swf.BD_e1, Var_swf.BD_e2, Var_swf.BD_e3);
// Salida: 100  90  80

for (i = 1; i < 4; i++) { 
    trace(this["Var_swf.BD_e"+i]);
} 

// Salida:
// undefined
// undefined
// undefined


¿Como podria accesar en forma correcta a estas variables, para que el resultado no sea undefined?

Saludos y muchas gracias por su atención

Por lororojo

52 de clabLevel



 

msie
Citar            
MensajeEscrito el 23 Ago 2008 10:47 am
El último trace debería ser así:

Código ActionScript :

 trace(Var_swf["BD_e"+i]);

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 23 Ago 2008 05:15 pm
Gracias Zah, ya esta funcionando

Por lororojo

52 de clabLevel



 

msie
Citar            
MensajeEscrito el 27 Ago 2008 11:25 pm
hola, la verdad soy un poco nuevo, si alguien me pudiera ayudar, queiro saber que es el

Var_swf.BD_e1 = "100";
Var_swf["BD_e"+i]

como funciona???
gracias de antemano

Por tintin

26 de clabLevel



 

firefox
Citar            
MensajeEscrito el 28 Ago 2008 10:34 am
Var_swf parace ser un objeto o quizás alguna clase, por ejemplo prueba lo siguiente:

Código ActionScript :

var Var_swf:Object = new Object();
Var_swf.BD_e1 = "100";
Var_swf.BD_e2 = "90";
Var_swf.BD_e3 = "80";

trace(Var_swf.BD_e1, Var_swf.BD_e2, Var_swf.BD_e3);


lo cual es lo mismo que decir:

Código ActionScript :

var Var_swf:Object = {BD_e1:100, BD_e2:90, BD_e3:80};

trace(Var_swf.BD_e1, Var_swf.BD_e2, Var_swf.BD_e3);


Ahora lo que te dice @Zah es cierto, debes acceder a ellas de la siguiente forma:

Código ActionScript :

for (i = 1; i < 4; i++) {

    trace(Var_swf["BD_e"+i]);

}

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 28 Ago 2008 03:38 pm
pero y para que se usa ese objeto, cual es su funcionalidad???
en que casos lo uso o para que???

muchas gracias por tu ayuda, me es de muchisima ayuda

Por tintin

26 de clabLevel



 

firefox
Citar            
MensajeEscrito el 28 Ago 2008 07:02 pm
Bueno, en el caso tuyo que tienes el código eres quién tiene que saber para que se utiliza, yo solo sé que en el código que posteas lo utilizan.

Ahora si a lo que te refieres es cual es la usabilidad que le puedes dar a un objeto en AS y no en tu trabajo específico te puedo decir que es muy cómodo trabajar con objetos y arreglos, si estos no existieran y necesitaras trabajar con gran cantidad de variables, es muy incómodo estar refiriéndose a cada una de ellas, es más fácil trabajar con un objeto o un arreglo que las contenga a todas.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 01 Sep 2008 10:00 pm
Lo que estoy usando son variables estaticas, para que varios archivos swf puedan compartirlas.

Estan declaradas en un archivo as (Var_swf.as) con el siguiente contenido:

Código :

package {

    public class Var_swf  {

                  static public var cual_tema:uint = 0;
   static public var BD_e1:String;
   static public var BD_e2:String;
   static public var BD_e3:String;
   
    }
}


y para poder accesar a estas varibales se usa el nombre del archivo as (Var_swf) y la variable, por eso se esta colocando Var_swf.BD_e1, Var_swf.BD_e2, etc.

Espero que te quede un poco más claro

Por lororojo

52 de clabLevel



 

msie

 

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