Zorane, očigledno predugo koristiš AS2 i vreme je da pređeš na trojku.

Da bi isto to napisao u AS3 trebaće ti malo više linija koda, a i može ti delovati kompleksnije jer u njemu ne postoji klasa
LoadVars. Pa da krenemo:
Code:
XML.ignoreWhitespace = true;
Ovo ti je već poznato.

Prvo ćeš deklarisati promenljivu tipa XML (kao što si radio i u AS2), ali joj nemoj još dodeljivati vrednost jer ćeš to uraditi kada se xml fajl uspešno učita:
Code:
var xmlGame:XML;
Sada ćeš deklarisati dve promenljive tipa
URLRequest i kreiraćeš instance URLRequest klase i kao parametar za xmlZahtev prosledićeš putanju do xml fajla i njegov naziv (ukoliko se nalazi u istom folderu kao i fla odnosno swf fajl napisaćeš samo njen naziv zajedno sa ekstenzijom), a za urlZahtev prosledićeš URL adresu:
Code:
var xmlZahtev:URLRequest = new URLRequest("xmlfajl.xml");
var urlZahtev:URLRequest = new URLRequest("http://127.0.0.1:8080/m.asp?cmd=login&uid"+myUID");
Zatim ćeš deklarisati dve promenljive tipa
URLLoader i kreiraćeš instance URLLoader klase:
Code:
var xmlLoader:URLLoader = new URLLoader();
var urlLoader:URLLoader = new URLLoader();
Deklarisaćeš još jednu promenljivu tipa
URLVariables i kreiraćeš instancu klase URLVariables:
Code:
var serverLoad:URLVariables = new URLVariables();
Sledeće na redu je dodavanje
osluškivača događaja xmlLoaderu i urlLoaderu:
Code:
xmlLoader.addEventListener(Event.COMPLETE, xmlUcitan);
urlLoader.addEventListener(Event.COMPLETE, urlPoslat);
Ukoliko se xml fajl iz nekog razloga ne učita ili ako se URL ne pošalje dodaćemo još dva osluškivača događaja koji će pozivati pripadajuće funkcije u kojima ćemo prikazati grešku:
Code:
xmlLoader.addEventListener(IOErrorEvent.IO_ERROR, greskaUcitavanja);
urlLoader.addEventListener(IOErrorEvent.IO_ERROR, greskaSlanja);
Sledi definisanje metoda objekta URLRequest kojim će se proslediti promenljive:
Code:
serverLoad.promenljiva = xmlGame;
xmlZahtev.method = URLRequestMethod.POST;
xmlZahtev.data = serverLoad;
Kada se xml fajl uspešno učita pozvaće se funkcija
xmlUcitan:
Code:
function xmlUcitan(e:Event):void
{
xmlGame = new XML(xmlLoader.data);
xmlGame.children()[0].attributes.type;
}
xmlLoader.load(xmlZahtev);
Kreiraćeš instancu XML klase kojoj ćeš kao parametar proslediti xml fajl koji se nalazi u xmlLoaderu (korišćenjem
data svojstva
URLLoader klase). Sada možeš iz te promenljive direktno pristupati tagovima, njihovom sadržaju, atributima i njihovim vrednostima, koristeći E4X sintaksu. Na kraju pozivamo
load metodu
URLLoader klase kojoj kao parametar prosleđujemo
URLRequest objekt koji se nalazi u promenljivoj xmlZahtev, koja sadrži putanju do xml fajla.
Kada se URL uspešno pošalje pozvaće se funkcija
urlPoslat:
Code:
function urlPoslat(e:Event):void
{
trace("Poslato.");
}
xmlLoader.load(xmlZahtev);
Na samom kraju ukoliko je došlo do greške prilikom učitavanja xml fajla pozvaće se funkcija
greska i prikazaće se greška:
Code:
function greskaUcitavanja(e:IOErrorEvent):void
{
trace("connection error");
}
Code:
function greskaSlanja(e:IOErrorEvent):void
{
trace("Dogodila se greška prilikom slanja.");
}