Podczas tworzenia gier we Flashu praktycznie zawsze występuje sytuacja, kiedy musimy sterować jakimś obiektem. Możemy do tego użyć klawiatury lub myszki. W tutorialu tym zajmiemy się tylko klawiaturą.
Sterowanie takie możemy wykorzystać między innymi w grach z widokiem z góry np.: wyścigi samochodów, gry typu „Bomberman” itp. Na początku tworzymy dowolny obiekt i konwertujemy go do Movie Clip.
Następnie w panelu Properties musimy nadać mu nazwę (Instance Name) którą będziemy używali podczas pisania skryptów. W tym przypadku nazwą tą jest „obiekt”.
I to wszystko co mamy do zrobienia w obszarze roboczym, teraz zostaje nam tylko panel Actions i napisanie potrzebnych skryptów. Skrypty piszemy po zaznaczeniu pierwszej klatki naszej animacji. Tworzymy funkcję, która będzie odpowiedzialna za obsługę klawiszy i przesuwanie obiektu:
| function anim() { if (Key.isDown(Key.LEFT)) { // jeżeli naciśnięta strzałka w lewo obiekt._x -= 5; // obiekt przesuwa się w lewo } if (Key.isDown(Key.RIGHT)) { // jeżeli naciśnięta strzałka w prawo obiekt._x += 5; // obiekt przesuwa się w prawo } if (Key.isDown(Key.UP)) { // jeżeli naciśnięta strzałka do góry obiekt._y -= 5; // obiekt przesuwa się do góry } if (Key.isDown(Key.DOWN)) { // jeżeli naciśnięta strzałka w dół obiekt._y += 5; // obiekt przesuwa się w dół } }; // zakończenie funkcji anim(); |
W tym momencie mamy już obiekt i możemy go przesuwać za pomocą klawiatury, jednak nie przemieszcza się on płynnie. Aby to uzyskać zastosujemy funkcję:
| setInterval (anim, 30); |
Powoduje ona, że funkcja anim wywoływana jest co 30 milisekund, czyli jej wywołanie nastąpi około 33 razy na sekundę, w związku z tym musimy taką wartość wpisać w polu Frame Rate w panelu Properties. To koniec tutoriala, osiągnęliśmy zamierzony efekt, zachęcam do samodzielnego eksperymentowania i zabawy z Flashem. Może dzięki temu powstanie więcej ciekawych gier? Materiały do powyższego tutoriala znajdują się . W razie wątpliwości lub problemów zapraszam na ,
