Ya estoy de nuevo con preguntas. Esta vez tiene que ver con la creación de variables dinámicas en AS3

La cuestión es que en los proyectos AS2 que realizaba, era habitual la introducción de datos mediante ficheros txt externos. Después de cargar el txt en el flash, lo que hacía era crear las variables dinámicamente dentro de la película para que se llamaran igual que las que yo tenía en el txt. De esta forma, si en el txt había una variable llamada "nombre" con valor "Félix", yo generaba dentro del flash otra variable String que se llamaba también "nombre" y que tenía el mismo valor que la del txt, esto es "Félix".

La razón de hacer esto es porque había gente muy diversa creando los txt y otra gente manipulando de forma básica los flashes. Estas personas normalmente no tenían conocimientos específicos de flash ni de programación y no les iba a pedir que accedieran a las variables mediante sintaxis de punto y objeto. Así conseguía que gente sin conocimientos pudiera montar y modificar películas de forma rápida.

La función que usaba en AS2 era la siguiente:

Código :

var cargaEXT = new LoadVars ();
cargaEXT.onLoad = function (correcto:Boolean):Void  {
   if (correcto) {
      for (variables in this) {
         if (!isNaN (this[variables])) {
            set (variables, parseFloat (this[variables]));
         } else {
            set (variables, this[variables]);
         }
      }
   }
};
cargaEXT.load (raiz + nombrePeli + ".txt");

El problema es que en AS3 he intentado esto (por supuesto, he hecho la carga del txt externo con sus variables con éxito):

Código :

var datos:URLRequest = new URLRequest("imagenes/data.txt");
var datosCarga:URLLoader = new URLLoader();

datosCarga.dataFormat = URLLoaderDataFormat.VARIABLES;
datosCarga.addEventListener (Event.COMPLETE, iniScene);
datosCarga.load (datos);

function iniScene (e:Event):void {

   for (var vars:String in datosCarga.data) {
      if (! isNaN(datosCarga.data[vars])) {
         this[vars] = parseFloat(datosCarga.data[vars]);
      } else {
         this[vars] = datosCarga.data[vars];

      }
   }
}


si hago un trace de datosCarga.data.nombre, me aparece "Félix", pero si intento hacer un trace de nombre, me dice que no existe esa propiedad.

He buscado por ahí y vienen ejemplos de cómo hacer objetos, sprites, movieclips, etc de forma dinámica, pero no he visto forma de generar mis variables de la forma que lo hacía en AS2. ¿Alguna sugerencia?

Gracias miles