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

Skrypty do programu SWiSH2 i SWISHmax - zmienna w sprite?

ora - Sob 05 Maj, 2007 16:45
Temat postu: zmienna w sprite?
potrzebuję na scenie głównej odczytywać zmienną: krok i jeśli przyjmuje odpowiednie wartości wczytać za pomocą loadMovie plik swf

w duszku mam umieszczony kod który odpowiednio mi zmienną krok kształtuje
na początku zauważyłem że zmienna "krok" która jest w duszku, nie była w ogóle widziana na scenie głównej

zmieniłem w duszku akcję(konkretnie zmienną) z krok na:
_root.krok ale dalej polecenie mi nie działa na scenie głównej:

Kod:

if(krok>9 && krok <=20 )
{
duch.loadMovie("sw.swf");
}


jeśli zmienię warunek , to swf się wczytuje,
sprawdzałem też wyświetlając sobie w dynamicznym polu tekstowym czy zmienna krok osiąga wartości od 10 do 20 i je odbiera lecz nic sie nie wczytuje, jakby zmienna ni była brana pod uwagę
b. proszę o pomoc

//edit mam nadzieję że się nie mylę: Zmienne są globalne ?? jesli używam zmiennej na duszku (AS) to jest ona , powinna być widoczna w całej scenie ??

nugatt - Sob 05 Maj, 2007 18:50

zmienne nie są globalne.
trochę się pogubiłem.
gdzie masz zmienna a gdzie masz "if".
wogóle prześlij przykładowy plik.
może chodzi o to, że "if przeleciał, a ty dopiero ustawiasz ta zmienną"?

ora - Sob 05 Maj, 2007 20:09

dzięki Nugatt , zmienna nie przelatuje jest ustawiana na samym początku, pliku nie mogę zamieścić ma około 5 mega a to jest mały wycinek

udało mi sie ustawić ale nie rozumiem czemu nie działało i tak

jak if był taki:
Kod:
 if (a==1 && b>=10 && b<20 )
                 duch.loadMovie("sw.swf");


to nie działało

dopiero tak :
Kod:
 if (a==1)
            {
                 if(b==10) duch.loadMovie("sw.swf");
            }




zaczęło wczytywać "sw.swf"
ale w duszku, inkrementacja zmiennej działała tylko
poprzez: _root.b++;


nie rozumiem czemu tak, czyżby swish nie przyjmował
takiego zapisu: if(a==1 && b>=10 && b<20) ....

chodzi mi o and'y (&&)

nugatt - Nie 06 Maj, 2007 00:23

Kod:
onFrame (1) {
    a = 1;
    b = 10;
}
onFrame (2) {
    if (a == 1 && b >= 10 && b < 20) {
        trace("Ala ma kota.");
    }
}
swish bardzo dobrze to czai

ora - Nie 06 Maj, 2007 12:42

skoro tak to dziękuję, wiem czemu nie chciało działać
problem tkwił w: OnFrame(25)

jak zmieniłem na OnEnterFrame() zaczął pokazywać,
w klatce 25 mam stop();
czym faktycznie (oprócz działania na wszystkich klatkach) różnią się te polecenia ??


Powered by phpBB modified by Przemo © 2003 phpBB Group