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

Podstawy języka skryptowego - Temat 3. Okno Debug i polecenie trace ()

roland - Czw 18 Sie, 2005 12:59
Temat postu: Temat 3. Okno Debug i polecenie trace ()
Okno Debug znajduje się na prawo od obszaru roboczego i można je wyświetlić, klikając na zakładce Debug. Może się zdarzyć, że zostało ono wcześniej zamknięte i nie będzie widoczne, należy je wtedy ponownie przywołać, rozwijając górne menu programu SWiSHmax:
    - kliknij na menu Panels,
    - kliknij na poleceniu Debug.

Okno Debug umożliwia śledzenie działania skryptów, a także wyświetla komunikaty o błędach w trakcie ich wykonywania.
W górnej jego części zobaczysz dwie opcje:
    - Echo script – włączenie jej powoduje wyświetlanie wszystkich wykonywanych poleceń języka skryptowego,
    - Echo bytecodes – włączenie tej opcji powoduje wyświetlanie poleceń tak zwanego niskiego poziomu, które są wykonywane przez wewnętrzny interpreter języka skryptowego. Ze względu na swoją przydatność jedynie bardzo zaawansowanym programistom, nie będziemy się zajmować tą opcją.
Domyślnie obie powyższe opcje nie są włączone. Pozostaw je w takim właśnie stanie, a następnie wprowadź poniższy skrypt:
Kod:
onLoad () {
}


Uruchomienie animacji nie spowodowało żadnych efektów, a także okno Debug pozostało puste. Nie możesz się więc przekonać, czy akcja OnLoad () w ogóle została interpretowana. Zaznacz teraz opcję Echo script i ponownie uruchom animację. W oknie Debug pojawi się poniższy wpis:
Scene_1::onLoad ()
}
Oznacza on, że SWiSHmax wykonał w scenie pierwszej polecenie akcji OnLoad (). Oczywiście dalej nie zobaczysz żadnego efektu, gdyż temu zdarzeniu nie przypisaliśmy jeszcze poleceń.

Jeżeli jednak wyłączysz opcję Echo script, to nie zobaczysz żadnych informacji związanych z wykonywaniem skryptów. Możesz jednak samodzielnie spowodować wyświetlenie w oknie Debug odpowiedniego polecenia. Służy do tego polecenie trace (). Wewnątrz nawiasów, należy wprowadzić wartość, która ma zostać wyświetlona. Na przykład kod:
Kod:
onLoad () {
    trace(4);
}

spowoduje wyświetlenie w oknie Debug liczby 4.

Dobrze jest także wpisywać polecenia zagnieżdżone z odpowiednim wcięciem (tak jak w powyższym przykładzie), to także przyczyni się do zwiększenia przejrzystości kodu.

Zmienimy teraz powyższy skrypt:
Kod:
onLoad () {
    trace(Witaj);
}

Po uruchomieniu, zamiast spodziewanego komunikatu z tekstem „Witaj”, w oknie Debug pojawiło się:
ERROR: Cannot find variable or function 'Witaj' in statement:
Scene_1::onLoad ()::trace(Witaj)
Referenced from: "_root"
Oznacza to, że SWiSHmax nie może zinterpretować słowa „Witaj”, gdyż nie jest on ani znanym mu poleceniem, ani też zmienną (o których powiemy sobie niebawem). Chcąc wyświetlić tekst „Witaj”, musisz ograniczyć go znakami cudzysłowu ("):
Kod:
onLoad () {
    trace("Witaj");
}


Powered by phpBB modified by Przemo © 2003 phpBB Group