我的目標是有一個客戶端的外部文本文件的配置。我不想通過一個瘋狂的XML的東西,我只是想要它很容易改變。 我開始使用urlLoader,並能夠動態生成一個對象沒有問題。這是解析和設置對象屬性的函數。閃存AS3和外部文本配置文件
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;
}
}
文本文件只是看起來是這樣的:
網關=「HTTP://thePathto/theFile.php
敬酒=狗孃養的
計時器= 5000
xSpeed = 5.0
這樣的話,我可能只是把的AS3代碼一點點,我想配置什麼類型的東西,那麼我將不得不做的是類型config.timer和
var myTimer:Timer = new Timer(Number(config.timer));
我覺得問題是加載順序和範圍。 config.timer尚未創建,所以定時器無法訪問config.timer的值。
請允許我建議'XML'會出奇比純文本更容易處理和管理 - 它也將只需要你最多幾個小時的教程充分了解。 – Marty 2012-03-22 00:28:45
我知道的配置格式,這並不是真正的問題的一部分的討論,但也有很大的格式在那裏已經爲這一明確目的,具有優良的AS3吊裝工具。與JSON一樣,XML是一個很好的例子。 XML是內置於該語言中的,JSON是一個夢幻般的輕量級替代品。您可以使用出色的'as3corelib'加載JSON:https:// github。com/mikechambers/as3corelib – aaaidan 2012-03-22 22:18:22
哦,下面是使用as3corelib加載和解碼JSON的一個很好的例子:http://kirill-poletaev.blogspot.co.nz/2011/02/working-with-json-and-as3-part -2.html – aaaidan 2012-03-22 22:38:33