Моя цель состояла в том, чтобы настроить внешний текстовый файл для клиента. Я не хотел проходить через сумасшедшую вещь XML, я просто хотел, чтобы это было легко изменить.
Я начал с urlLoader и смог динамически сгенерировать объект без проблем. Это функция, которая анализирует и устанавливает свойства объекта.
function onLoaded(e:Event):void//initializes the config
{
var myString = String(e.target.data);
//trace(e.target.data);
//trace(myString);
var propsArray:Array = myString.split("\n");
for (var i = 0; i < propsArray.length; i++){
var thisLine:Array = propsArray[i].split("=");
var thisPropName:String = thisLine[0];
thisPropName = thisPropName.replace(rex,'');
var thisPropValue:String = thisLine[1];
thisPropValue = thisPropValue.replace(rex,'');
trace("thePropName is: " + thisPropName);
trace("thePropValue is: " + thisPropValue);
config[thisPropName] = thisPropValue;
}
}
Текстовый файл будет выглядеть примерно так:
gateway = "http://thePathto/theFile.php
тост = сукин сын
таймер = 5000
xSpeed = 5,0
Таким образом, я мог бы просто добавить немного кода as3, ввести то, что я хотел настроить, и все, что мне нужно было сделать, это набрать config.timer и
var myTimer:Timer = new Timer(Number(config.timer));
Я думаю, что проблема заключается в порядке загрузки и объеме. Config.timer еще не создан, поэтому таймер не может получить доступ к значению config.timer.