ho una classe che mi legge un file xml e ne ricava dei valori. Questa classe viene richiamata poi dalla document class (con import). Ho dei movieclip sullo stage e vorrei assegnare i valori dell'xml alla x e y di ogni moviclp... come si fa? lo trovo impossibile... prima era tanto semplice....![]()
vi posto la classe che legge l'XML che ho ritoccato da roba trovata in giro...
sul fla ho questa funzione che genera i movieclip...Codice PHP:package lib.utility //percorso (cartelle) in cui si trova la classe
{
import flash.display.MovieClip;
import flash.events.*; //senza non fungono gli eventi
import flash.net.*; //senza non funge urlloader
import flash.display.Sprite;
public class CaricaXML extends MovieClip {
var xmlData:XML = new XML();
public function CaricaXML()
{
trace('La Document Class di CaricaXML è stata instanziata correttamente');
//parto con la funzioncina per caricare XML
var xmlLoader:URLLoader = new URLLoader();
var nomeXML:String = "data/percorsi.xml";
xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
xmlLoader.load(new URLRequest(nomeXML));
//fine della funzioncina per caricare XML
}
private function LoadXML(e:Event):void {
xmlData = new XML(e.target.data);
ParseXML(xmlData);
}
function ParseXML(recordXMLInput:XML):void {
var recordXMLChildren:XMLList = recordXMLInput.percorso.children();
var i:int = 0;
for each (var XMLInfo:XML in recordXMLChildren) {
trace(XMLInfo+" "+XMLInfo.attribute("h"));
this["mc"+i].y = XMLInfo.attribute("coords"); //ovviamente questa riga non funziona....
}
}
//fine functions
}
}
Codice PHP:for (var i:int = 0; i<10; i++) {
var mc:citystart = new citystart();
mc.name = "mc"+i;
mc.x += 100*i; //in realtà vorrei dargli i valori che ho in un xml...
mc.y += 100*i;
mc.nomecitta.nomecity.htmlText="mc"+i;
addChild(mc);
}
vi ringrazio anticipatamente...

Rispondi quotando