Posty

Wyświetlam posty z etykietą obsługa zdarzeń javascript

Mój własny edytor... :) (1)

Obraz
Nie tylko robię własną wtyczkę do edytora , ale również od jakiegoś czasu zacząłem robić swój własny edytor. Póki co będzie to edytor gier. A później się zobaczy. Na razie to co widać, to edytor poziomów - wyklikujesz sobie, gdzie mają być położone które elementy. W ten sposób możesz zbudować murek, postawić samochód w określonym miejscu itp. Dzisiaj też zacząłem robić coś w rodzaju inspektora obiektów. Po kliknięciu obiektu masz po lewej stronie jego właściwości (np. współrzędne położenia). Niektóre z tych właściwości można zmieniać (pewnie można będzie zmieniać wszystkie, no ale nie od razu Kraków zbudowano). Jak widzicie, inspektor pokazuje również kod źródłowy funkcji odpowiedzialnych za zachowania obiektów: Tutaj mamy funkcję onUpdate, która definiuje to, co obiekt robi przy każdej aktualizacji (która następuje około 60 razy na sekundę). W innych obiektach mogą być różne inne funkcje, które będą się odpalać przy określonym zdarzeniu (np. onClick = co obiekt ma robić ja...

Jak stworzyć prostą grę w JavaScript? (kontynuacja - krok 3)

Obraz
Teraz zajmiemy się obsługą klawiatury. Najpierw potrzebujemy wydzielić zmienną player , żeby móc się do niej później odwoływać. Na razie to tworzymy obiekt gracza, ale nigdzie nie zapamiętujemy (poza tablicą entities) tego obiektu. Dodaj więc na początku skryptu tę linijkę: potem, w funkcji initialize odnajdź linijkę, która wywołuje funkcję createEntity z pierwszym parametrem 'player' i przypisz utworzoną jednostkę do zmiennej player jak możesz zauważyć, dodaliśmy również właśćiwość speed i zainicjalizowaliśmy ją do wartości 4*. To ważne, bo będzie nam to później potrzebne. *Możesz spróbować z innymi wartościami, żeby przyśpieszyć/zwolnić ruch rakiety. Bezpośrednio po tej linijce wstaw ten kod: jest to metoda player.input i będzie ona wywołana za każdym razem, kiedy użytkownik wciśnie klawisz. W zależności od wciśniętego klawisza, poruszamy rakietę w lewo, w prawo, w górę bądź w dół. Jak zapewne zauważyłeś, jest to pewna abstrakcja. Nie operujemy tu wpros...