SWiSH Forum
Forum użytkowników programów SWiSH

SWiSH Max - Praca z pobranymi danymi poprzez loadVariables

widex - Sro 07 Paź, 2009 21:00
Temat postu: Praca z pobranymi danymi poprzez loadVariables
Niby prosta sprawa:
Na Scene_1 wpisałem:
onSelfEvent (load) {
var nazwa_pliku:String="menu_roots.txt";
_root.loadVariables(nazwa_pliku);
trace(_root.roots);

}

W debugerze cały czas mam undefined
Próbowałem tak jeszcze:
loadVariables(nazwa_pliku); trace(roots);
this.loadVariables(nazwa_pliku); trace(this.roots);

W pliku txt daną mam poprawnie przygotowaną:
&roots=dssdsdsdds&

Dodatkowo sprawdziłem w zwykłym polu txt wybrałem dynamiczny w polu var wpisałem roots - napis ładnie się wyświetla.

Pytanie zatem brzmi - jak, skąd odczytywać pobrane zmienne?
Z góry dziękuję za podpowiedź.

[ Dodano: Sob 10 Paź, 2009 15:28 ]
Odkryłem dlaczego skrypt nie działa.
Otóż kiedy uruchamiam funkcję loadVariables, tak naprawdę to uruchamiany jest osobny wątek, więc próba odczytania ładowanych zmiennych zaraz po uruchomieniu funkcji - nie przynosi efektu, oto poprawne rozwiązanie:

Przy okazji zastosowałem bardziej elastyczny mechanizm - obiekt LoadVars

onSelfEvent (load) {
var dane = new LoadVars();
this.dane.load("menu_roots.txt");
this.dane.onLoad = function (success) {
if (success) {
trace("Success!")
gotoAndPlay(3);
} else {
trace("FAIL!");
}
};
}
onFrame (2) {
trace("czekamy na załadowanie zmiennych");
stop();
}

onFrame (3) {
trace("Zmienne załadowane ...");
trace("Zmianna roots="+this.dane.roots);
}
onFrame (5) {
stop();
}


Powered by phpBB modified by Przemo © 2003 phpBB Group