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

Podstawy języka skryptowego - Lekcja 16. Sterowanie przebiegiem animacji (cz. 2)

roland - Pon 29 Sie, 2005 13:37
Temat postu: Lekcja 16. Sterowanie przebiegiem animacji (cz. 2)
Kolejnymi poleceniami pozwalającymi sterować przebiegiem animacji, są polecenia należące do dwóch grup: gotoAndPlay oraz gotoAndStop. Pozwalają one kolejno przejść do określonego miejsca animacji i kontynuować animację, bądź też się zatrzymać. ponieważ różnią się tylko możliwością kontynuacji bądź zatrzymania animacji, a lokalizacje które możemy wskazać są identyczne, to opiszę jedynie grupę gotoAndPlay:
    • gotoAndPlay(FRAME) – pozwala przejść do określonej klatki,
    • gotoAndPlay(LABEL) – pozwala przejść do klatki posiadającej tak zwaną etykietę o określonej nazwie,
    • nextFrameAndPlay() – przechodzi do następnej klatki,
    • prevFrameAndPlay() – przechodzi do poprzedniej klatki,
    • nextSceneAndPlay() – przechodzi do następnej sceny,
    • prevSceneAndPlay() – przechodzi do następnej sceny.

Jeżeli wprowadzasz jedno z tych poleceń w trybie Guide, to zapewne zwrócisz uwagę, że tak w zasadzie to jedno polecenie, z różnymi opcjami.

Wykorzystując te polecenia, możemy napisać prosty skrypt pozwalający zliczać ilość kliknięć na przycisku. W tym celu tworzymy skrypt, który wpiszemy dla Scene_1:
Kod:
onLoad () {
    licznik=0;
}
onFrame (1) {
    gotoSceneAndPlay("<current scene>",3);
}
onFrame (2) {
    licznik=licznik+1;
    Informacja.text="Kliknięto "+licznik+" razy";
}
onFrame (3) {
    gotoSceneAndPlay("<current scene>",3);
}

Dodatkowo tworzymy obiekt o nazwie Przycisk oraz tekst o nazwie Informacja. Tekst Informacja, powinien zostać ustawiony jako Dynamic Text.

Jedynym skryptem który będziemy musieli wprowadzić, będzie skrypt dla obiektu Przycisk:
Kod:
on (press) {
    gotoSceneAndPlay("<current scene>",2);
}


Zastanówmy się, jak teraz działa nasza animacja. Przy jej rozpoczęciu, ustawiana jest wartość 0 dla zmiennej licznik, która będzie przechowywała ilość kliknięć. W klatce 1 następuje przejście do klatki 3, w wyniku czego pominięta zostanie klatka 2. Klatka 3 powoduje przejście do niej samej, przez co animacja się zapętli właśnie w tej klatce.

Kluczowa jest właśnie klatka 2. W niej to bowiem następuje zwiększenie wartości licznika o 1 oraz wyświetlenie odpowiedniej informacji.

Przejście do klatki 2 nastąpi wyłącznie w wyniku kliknięcia na obiekcie Przycisk.

Przeanalizujmy jeszcze wiersz powodujący wyświetlanie komunikatu w obiekcie tekstowym:
Kod:
Informacja.text="Kliknięto "+licznik+" razy";


Po nazwie zmiennej określono, że odwołujemy się do tekstu, który ona wyświetla. Dzięki temu możemy przypisać nową wartość. Przypisywana wartość składa się z trzech części, dwóch tekstów i zmiennej licznik, połączonych znakami „+”. Dzięki temu przed wyświetleniem zostaną one połączone w jeden łańcuch tekstowy i wyświetlone jako jeden tekst.






Przykładowa animacja jest do pobrania na końcu tej lekcji.

Spróbuj samodzielnie zmodyfikować tą animację, dodając nowy przycisk. Klikając na jednym z nich liczba kliknięć powinna się zwiększać, a klikając na drugim z nich zmniejszymy tą wartość.


Powered by phpBB modified by Przemo © 2003 phpBB Group