widex
Praktyk

Dołączył: 29 Maj 2009 Posty: 26 Skąd: małopolska
|
Wysłany: Sro 07 Paź, 2009 21:00 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();
} |
|