|
SWiSH Forum Forum użytkowników programów SWiSH |
 |
SWiSH Max - Kolor tekstu
vanioch - Pią 28 Paź, 2011 14:31 Temat postu: Kolor tekstu Witam. Mam duszka a w nim kod odpowiedzialny za wczytanie tekstu:
Kod: |
a=loadVariables("http://serwer_zewnetrzny/plik.txt");
if(a==undefined){
pole.textColor=0x990000;
pole.text=2;
} else{
pole.text=a;
pole.textColor=0xffffff;
}
|
Prosty kodzik ale coś nie działa. Zamiarem jest to aby po owocnym wczytaniu danych w pole.text wyświetliła się wczytana wartość na biało a jeśli serwer nie będzie dostępny ma się wyświetlić wartość domyślna 2 na czerwono. Co robię źle?
Januszr - Pią 28 Paź, 2011 16:03
Spróbuj nadać kolor po wczytaniu textu. Czyli na kolejnej klatce po załadowaniu. Napisz czy działa
vanioch - Pią 28 Paź, 2011 19:23
OK kod teraz wygląda tak:
Kod: |
onSelfEvent (load)
{
a=loadVariables("http://serwer_zewnetrzny/plik.txt");
}
onFrame(2)
{
if(a==undefined){
pole.textColor=0x990000;
pole.text=2;
} else{
pole.text=a;
pole.textColor=0xffffff;
}
}
|
Tekst się zmienia ok. Jest połaczenie z serwerem mam oczekiwaną wartość, nie ma połączenia ma wartość domyślną, lecz niestety kolor pozostaje jeden - czerwony niezależnie od danych
Januszr - Sro 02 Lis, 2011 08:56
To nie wiem albo/i nie rozumiem. Kiedyś dawałem tutaj pliki dotyczące sprawdzania wartości w ładowanym tekście, ale teraz nie wiem gdzie to jest...
Czy ten undefined to wyraz znajdujący się w pliku ładowanym, czy może odpowiedź FlashPlayera na fakt, że pliku nie odnalazł? Może inaczej warunek trzeba zapisać? nie wiem..
vanioch - Sro 02 Lis, 2011 20:48
undefined wziąłem stąd że gdy adres do pliku specjalnie podałem zły to trace wyrzucił w zmiennej "a" właśnie undefined i tu pewnie jest cały problem tzn sprawdzania wartości w ładowanym tekście :/ albo inaczej sprawdzenia czy tekst się w ogóle załadował
Januszr - Sro 02 Lis, 2011 21:13
A może to: http://swish.wodip.opole....oad.php?id=2254 pozwoli na rozwiązanie problemu.
Tutaj dokładniej: http://www.webdesign.org/...xists.1237.html
Albo to:
http://www.kirupa.com/net...xtfiles_pg4.htm
...bo ja to to nie wiem...
espe1 - Sro 02 Lis, 2011 21:38
Kod: |
onSelfEvent (enterFrame) {
a.load("http://adblocklist.org/adblock-pxf-polish.txt"); //pierwszy plik jaki znalazłem w necie
a = new LoadVars();
a.onLoad = function(success) {
if(success) {
pole.text=a;
pole.textColor=0xffffff;
} else {
pole.textColor=0x990000;
pole.text=2;
}
}
} |
u mnie śmiga, tzn. po załadowaniu wyświetlają się białe krzaki, a po odłączeniu neta wyświetla się bordowa 2.
i jeszcze jedna uwaga pole tekstowe o nazwie "pole" nie może być zaznaczone jako movie clip (target).
Przerabiałem to przy okazji robienia pogody w XML od google:
http://imageshack.us/phot...1102230008.jpg/
i generatora lotto:
http://imageshack.us/phot...otto231251.jpg/
vanioch - Czw 03 Lis, 2011 08:15
espe1 Twój kod działa, tylko stanąłem przed małym problemem, jako że w pliku mam sporo &&&& zmiennych to chciałem w głównej scenie napisać funkcję a potem wywoływać ją z dowolnego movieclipa z polem tekstowym, jaśniej oto okd funkcji
Kod: |
onSelfEvent (load) {
function dane(pole1,zm)
{
;
var a=new LoadVars();
a.load("http://serw/plik.txt");
a.onLoad = function(success) {
if(success) {
pole1.text=a.zm;
pole1.textColor=0xffffff;
} else {
pole1.textColor=0x990000;
pole1.text=2;
}
}
}
|
i dowolny movie clip w scenie z polem tekstowym
Kod: |
onSelfEvent (load) {
_root.dane(pole,zmiennawpliku);
}
|
wyrzuca mi błąd "Cannot find zmiennawpliku, problem jest chyba w tym jak przekazać do funkcji coś co jeszcze nie istnieje, btw jeśli zamiast argumentu zmiennawpliku dam jakąś liczbe błędu nie ma
espe1 - Czw 03 Lis, 2011 10:49
Bez pliku txt, ciężko stwierdzić o co co chodzi.
vanioch - Czw 03 Lis, 2011 14:01
Treść pliku.txt
Kod: |
&zmienna1=5.77&
&zmienna2=5.27&
&zmiennawpliku&=5.87&
|
espe1 - Pią 04 Lis, 2011 20:32
w 3 zmiennej jest chyba błąd, powinno być tak
Kod: |
&zmienna1=5.77&
&zmienna2=5.27&
&zmiennawpliku=5.87& |
vanioch - Sob 05 Lis, 2011 11:33
To bląd przy pisaniu posta w programie jest ok, nie wiem czemu ale ta funkcja poprostu nie działa
[ Dodano: Sro 09 Lis, 2011 15:11 ]
Ponawiam pytanie czy ktoś wie dlaczego ta funkcja zwraca undefined
Kod: |
function dane(pole1,zm)
{
var a=new LoadVars();
a.load("http://serw/plik.txt");
a.onLoad = function(success) {
if(success) {
pole1.text=a.zm; //tu jest blad (nie znaleziono zm);
pole1.textColor=0xffffff;
} else {
pole1.textColor=0x990000;
pole1.text=2;
}
}
|
ale ta sama funkcja (bez drugiego parametru) która zamiast zm ma konkretna zmienna w pliku działa
Kod: |
function dane(pole1)
{
var a=new LoadVars();
a.load("http://serw/plik.txt");
a.onLoad = function(success) {
if(success) {
pole1.text=a.zmienna1 //poprawnie wyświetlona wartość
pole1.textColor=0xffffff;
} else {
pole1.textColor=0x990000;
pole1.text=2;
}
}
|
espe1 - Pon 14 Lis, 2011 21:11
Proste:
zm - nie jest nigdzie zdefiniowana i nie ma żadnej wartości!
a= wczytany plik tekstowy (plik.txt)
a.zmienna1=5.77 (zmienna1 z "a", czyli pliku.txt)
a.zm = undefined (nie ma "zm" w "a", czyli pliku.txt)
vanioch - Czw 17 Lis, 2011 08:11
Zgadza się ale spójrz na funckje, zm to ma być parametr (argument funkcji) wywołanie funkcji jest dane(pole1, zmiennawplikutxt) i wówczas funkcja ma postać
Kod: |
function dane(pole1,zm)
{
var a=new LoadVars();
a.load("http://serw/plik.txt");
a.onLoad = function(success) {
if(success) {
pole1.text=a.zm; //-------tu ten argument czyli mamy a.zmiennawplikutxt-----------
pole1.textColor=0xffffff;
} else {
pole1.textColor=0x990000;
pole1.text=2;
}
} |
Chcę jako argument wysłać po prostu nazwę zmiennej która jest w pliku żeby funkcja liczyła tą zmienną którą chce. Tą którą jest na pewno w pliku
|
|