Tutorial ten opisuje proces tworzenia gry we flashu opartej na elemencie losowym. Gra „Zgadnij liczbę” polega na wpisywaniu liczby z zakresu od 1 do 10.
Flash musi porównać wpisaną przez użytkownika liczbę, z wcześniej wylosowaną i wyświetlić odpowiedni komunikat. Na początek stworzymy grafikę. Tworzymy 3 warstwy wybierając z menu [Insert->Layer]:
- Warstwa action script. Ta warstwa zawiera skrypty action script. W pierwszych trzech klatkach tworzymy klatki kluczowe [F6] i wstawiamy akcje:
| stop(); |
- Warstwa napis. Na tej warstwie widnieje tytuł gry. W pierwszej klatce wstawiamy tekst „Zgadnij liczbę”, następnie zaznaczamy klatkę trzecią i tworzymy puste ujęcie [F5].
- Warstwa reszta. Na tej warstwie znajduje się reszta grafiki. W pierwszej klatce tworzymy pole tekstowe z instrukcjami do gry oraz button [Ctrl+F8] „Zagraj” do którego przypisujemy akcje:
| on (release) { gotoAndPlay(2); }; |
W drugiej klatce znajdują się: pole Input Text oraz pole Dynamic Text. Pierwsze służy do wpisywania zgadywanej liczby, a drugie do wyświetlania komentarzy typu: „za dużo”, „za mało”. Na palecie Properties:
dla pola input przypisujemy zmienną (Var) liczba oraz ustawiamy właściwość Maximum Characters (maksymalną możliwą ilość wpisanych zanków) na 2.
Natomiast dynamicznemu polu tekstowemu przypisujemy zmienną (Var) komunikat.
Następnie tworzymy przycisk [Ctrl + F8] „Sprawdź” i przypisujemy mu akcje:
| on (release) { _root.sprawdz(); }; |
Natomiast w trzeciej klatce tworzymy komunikat o wygranej oraz button [Ctrl+F8] „Zagraj ponownie” umożliwiający ponowną grę i przypisujemy mu akcje:
| on (release) { gotoAndPlay(2); }; |
klatka 1
klatka 2
klatka 3
Najpierw przyjrzyjmy się dwóm metodom generowania losowych liczb we flashu 5: Math.random(); i Random();. Math.random(); zwraca liczbę zmiennoprzecinkową z zakresu od 0.0 do 1.0. Random(); zwraca liczbę całkowitą od 0 do pomniejszonej o jeden liczby podanej w argumencie. Firma Macromedia zaleca stosowanie Math.random(); i nie wykluczone, że metoda Random(); zniknie w kolejnych wersjach flasha. Nam potrzebna jest liczba z zakresu <1;10> zatem pomnożymy liczbę zwróconą przez Math.random(); przez 10. Otrzymamy wtedy liczbę zmiennoprzecinkową z zakresu (0;10). Użyjemy funkcji int();, aby obciąć część ułamkową oraz dodamy 1. Wtedy otrzymamy liczbę z zakresu <1;10>. Kod action script do losowania liczby będzie wyglądać tak:
| //wyzeruj pola tekstowe liczba = „”; komunikat = „”; //wylosuj liczbę los = int(Math.random()*10)+1; //funkcja ta wywoływana jest naciśnięcem przycisku „sprawdź” function sprawdz() { if(los == liczba) { //jeśli los jest równy wpisanej liczbie wyświetl odpowiedni komunikat gotoAndPlay(3); } else if (los < liczba) { //jeśli los jest mniejszy od wpisanej liczby wyświetl odpowiedni komunikat komunikat = „Za dużo”; } else { //jeśli los jest większy od wpisanej liczby wyświetl odpowiedni komunikat komunikat = „Za mało”; }; }; //zatrzymaj odtwarzanie filmu stop(); |
Zmienne komunikat oraz liczba to zdefiniowane przez nas wcześniej zmienne pól tekstowych w drugiej klatce. Dzięki nim możemy kontrolować (pobierać i zapisywać) zawartość tychże pól tekstowych. To już koniec tego tutoriala, ale nie myśl, że koniec twojej pracy ;-). Zalecałbym abyś urozmaicił(a) tę grę. Możesz dodać punktację albo poziomy trudności (od nich zależałby zakres losowanej liczby np. dla poziomu trudny, Flash losowałby liczbę z zakresu od 1 do 20). Poza tym zmodyfikuj i rozbuduj grafikę… Powodzenia… Materiały do powyższego tutorialu znajdują się: .
