Me he encontrado con que no sé qué diferencia hay entre "root" y "this" dentro de la línea de tiempo principal. Me explico. Si yo creo un par de variables dinámicamente en la línea de tiempo principal
Código :
this["variable1"] = "a"; this["variable2"] = 1;
puedo acceder a ellas mesiante sintaxis de puntos o array
Código :
trace (typeof(this.variable1)); trace (typeof(this.variable2));
apareciéndome en la ventana de salida
Código :
String Number
Siendo, como digo, la línea de tiempo principal, si me encontraba en ella en AS2 podía referirme a ella como "this" o como "_root", por lo que podía acceder a las variables de esta forma:
Código :
trace (typeof(_root.variable1)); trace (typeof(_root.variable2));
En AS3 me he encontrado que con "this" sí puedo acceder a las variables, PERO NO CON "root", ya que me dice que no existen esas propiedades.
Si hago un trace de los objetos
Código :
trace (root); trace (this);
la salida me da como resultado
Código :
[object MainTimeline] [object MainTimeline]
por lo que, en este caso, "this" y "root" son el mismo objeto.
¿Se puede saber por qué diantre es válido "this.variable1" y no lo es "root.variable1"?
¿Se puede saber por qué se puede crear "this["variable1"]" y no es válido "root["variable1"]"?
gracias