|
|
Код который в первом кадре загружает XML-документ, разбирает содержимое и размещает его в двумерном массиве SodXML. Вначале, до загрузки XML-документа и сразу после определения массива SodXML определяется переменная nameXML и проверяется наличие загруженных непосредственно в SWF-файл внешних переменных переданных параметром FlashVars в html-коде внедрения флешки: <param name="FlashVars" value="namXML=grafik2"> строки 6-12. Переменная nameXML в AS-коде файла получает значение переменной namXML которое является либо полным указателем имени загружаемого XML-документа, либо как в данном случае частью пути. Данный код взят из проекта График подогнанного под компонент Joomla, но что мешает сделать вставку своего пути? Далее происходит загрузка XML-Документа и после его разбора и формирования SodXML происходит переход в следующий кадр файла graf.fla где собственно и будет происходить основная работа - вывод изображения графика. |
/* --- Получение данных из XML-документа --- */
var sodXML:Array = new Array();
var nameXML:String;
var keyStr:String;
var valStr:String;
var paramObj:Object = LoaderInfo(this.root.loaderInfo).parameters;
for (keyStr in paramObj) {
valStr = String(paramObj[keyStr]);
if(keyStr == "namXML"){
nameXML = valStr;
}
}
if(nameXML !== ""){
var xmlDoc:XML = new XML();
var xmlDL:XMLList = new XMLList();
var xmlDL2:XMLList = new XMLList();
var zaprosXML:URLRequest=new URLRequest("components/com_grafik/xml/"
+nameXML+".xml?f="+Math.round(Math.random()*1000000));
var zagruzka:URLLoader=new URLLoader();
zagruzka.addEventListener(Event.COMPLETE, zagruzXML);
zagruzka.load(zaprosXML);
function razborXMLArray1(arg1):Array{
var rez:Array = new Array();
xmlDoc=XML(arg1);
xmlDL=xmlDoc.children();
for (var i:uint=0; i<xmlDL.length(); i++) {
xmlDL2=xmlDL[i].children();
rez[i] = new Array();
for (var k:uint=0; k<xmlDL2.length(); k++) {
rez[i][k] = xmlDL2[k].children();
if(rez[i][k]==undefined){
rez[i][k] = null;
}
}
}
return rez;
}
function zagruzXML(e:Event):void {
sodXML=razborXMLArray1(e.target.data);
nextFrame();
}
} |
|
|