Robimy naszą pierwszą grę – cz. 11, czyli programowanie właściwe – podstawowe ruchy i sterowanie

Hej! Witajcie w kolejnym wpisie z serii „Robimy grę”. 🕹️ Dziś zaczynamy programowanie naszego głównego bohatera – pomarańczowego kotka! Nadszedł czas, aby wprowadzić ruch do naszej gry i sprawić, że gracz będzie mógł sterować kotkiem za pomocą klawiatury. Gotowi? Zaczynamy!

Na komputerze stojącym na drewnianym biurku widać ekran z widokiem z programu Scratch. Widoczny jest fragment kodu oraz podgląd gry - labiryntu.

W tym wpisie serii „Robimy grę” dowiemy się jak używać bloczków z kategorii „Zdarzenia”, „Kontrola”, „Ruch” i „Czujniki” w narzędziu Scratch. Jeśli nie wiesz, czym jest Scratch koniecznie cofnij się do moich wpisów „Jak zacząć programowanie w Scratch” oraz „Rejestracja w Scratch krok po kroku„.

Ikonka kategorii Kontrola w Scratch
Ikonka kategorii Zdarzenia w Scratch
Ikonka kategorii Ruch w Scratch
Ikonka kategorii Czujniki w Scratch

Podsumowanie dotychczasowych etapów serii „Robimy grę”

Po burzy mózgów, wymyśleniu fabuły naszej pierwszej wspólnej gry i wybraniu narzędzia, w którym ją zrobimy, stworzyłyśmy tło labiryntu i własne grafiki – duszki: kotka, jabłka, klucz i przeciwnika. Teraz czas, aby kotek zaczął się poruszać i reagować na ruchy gracza. Dzięki temu nasza gra zacznie nabierać dynamiki!

👉 Cel dzisiejszego wpisu

Naszym celem w tym odcinku „Robimy grę” jest zaprogramowanie sterowania kotkiem za pomocą klawiatury. Chcemy, aby:

  1. Poruszał się do góry, na dół, w lewo i w prawo.
  2. Zatrzymywał się, gdy dotknie ściany labiryntu (aby nie wychodził poza planszę oraz poza ścieżkę).
  3. Płynnie reagował na ruchy gracza.

Tworzenie sterowania – krok po kroku

Ponieważ w poprzedniej części serii „Robimy grę” załadowaliśmy już do Scratcha nasze grafiki, to teraz skupimy się już tylko na kodowaniu, ale ‼️ polecam Wam zmienić nasze tło na tło-labirynt-poprawione.png, ponieważ po przetestowaniu to nowe daje więcej frajdy z gry 😉:

Nowe tło do gry, które sprawi, że gra będzie lepiej grywalna.

1. Skrypt ruchu dla kotka

  1. Otwieramy projekt w Scratchu i klikamy na duszka „Kotek”.
Pokazanie duszka o nazwie "Kot"
  1. Przechodzimy do zakładki „Skrypty”.
Ikonka zakładki "Skrypt".
  1. Wybieramy blok „Kiedy naciśnięto [zieloną flagę]” z kategorii „Zdarzenia”.
Ikonka kategorii Zdarzenia
Bloczek Kiedy kliknięto zieloną flagę
  1. Dodajemy pętlę „Zawsze” z kategorii „Kontrola”. Dzięki niej kotek będzie cały czas nasłuchiwał, które klawisze zostały naciśnięte.
Ikonka kategorii Kontrola
Bloczek pętli Zawsze

2. Programowanie ruchów w czterech kierunkach

Najpierw szybko wyjaśnijmy sobie, jak poruszają się postaci w grze 2D (dwuwymiarowej). Jak nazwa wskazuje mamy dwa wymiary:

  1. Wymiar góra-dół (oś „Y”)
  2. Wymiar prawo-lewo (oś „X”)
Wykres wyjaśniający gdzie na osi Y jest góra, a gdzie dół
Wykres wyjaśniający gdzie na osi Y jest Y, a gdzie -Y
Wykres wyjaśniający gdzie na osi X jest prawo, a gdzie lewo
Wykres wyjaśniający gdzie na osi X jest X, a gdzie -X
Wykres wyjaśniający położenie X, -X, Y i -Y
  • Ruch w górę:
  • Dodajemy warunek „jeśli [naciśnięto strzałkę w górę]”. Warunek znajdziemy w kategorii „kontrola”, a „jeśli [naciśnięto strzałkę w górę]” znajdziemy w kategorii „Czujniki”. Czujnik musimy wstawić w pole między „jeśli” a „to”:
Ikonka kategorii Kontrola
Bloczek warunku Jeżeli, to
Ikonka kategorii Czujniki
Czujnik sprawdzający wciśnięcie danego klawisza
Lista rozwijana przy czujniku sprawdzającym wciśnięcie danego klawisza
  • Wewnątrz tego bloku umieszczamy blok „zmień y o 10” (co oznacza ruch do góry).
Ikonka kategorii Ruch
Bloczek Zmień y o 10

  • Ruch w dół:
    • Podobnie dodajemy warunek „jeśli [naciśnięto strzałkę w dół]”.
    • Umieszczamy blok „zmień y o -10” (co oznacza ruch w dół).
  • Ruch w lewo:
    • Dodajemy warunek „jeśli [naciśnięto strzałkę w lewo]”.
    • Wewnątrz umieszczamy blok „zmień x o -10” (co oznacza ruch w lewo).
  • Ruch w prawo:
    • Dodajemy warunek „jeśli [naciśnięto strzałkę w prawo]”.
    • Umieszczamy blok „zmień x o 10” (co oznacza ruch w prawo).

Cały skrypt sterowania wygląda tak jak poniżej:

Skrypt umożliwiający poruszanie się kotka w górę, dół, prawo i lewo

3. Ograniczenie ruchu – ściany labiryntu

Aby nasz kotek nie „przechodził przez ściany”, musimy dodać warunki kolizji:

  1. Dodajemy do pętli dla klawisza „strzałka w górę” warunek „jeśli dotyka koloru [kolor ściany]”. Warunek znajdziemy w kategorii „Czujniki”, a kolor ustawimy klikając na niego z włączoną opcją wyboru koloru:
Ikonka kategorii Kontrola
Bloczek warunku Jeżeli, to
Ikonka kategorii Czujniki
Czujnik sprawdzający kolor
Wybór koloru w czujniku sprawdzającym kolor
Narzędzie wyboru koloru przez kroplomierz
Wybór koloru z tła gry
  1. Wewnątrz umieszczamy blok „przesuń o -10 punktów na osi y” (cofnięcie kotka, aby zatrzymał się na ścianie).
Ikonka kategorii Ruch
Skrypt wykrywający ścianę labiryntu w momencie chodzenia bohatera do góry
  1. Dostosowujemy to dla wszystkich kierunków ruchu.
Skrypt wykrywający ścianę labiryntu w momencie chodzenia bohatera w dół
Skrypt wykrywający ścianę labiryntu w momencie chodzenia bohatera w prawo
Skrypt wykrywający ścianę labiryntu w momencie chodzenia bohatera w lewo

4. Optymalizacja ruchu – płynność sterowania

Jeśli chcesz, aby kotek poruszał się płynniej:

  • Możesz zmniejszyć lub zwiększyć wartości w blokach „zmień x/y o…”, aby dostosować szybkość ruchu.
  • Warto też dodać efekty dźwiękowe, np. przy odbijaniu się od ścian (blok „zagraj dźwięk”).

Pełny skrypt sterowania kotem:

Na końcu dodałam z kategorii „Ruch” bloczek „Jeśli na brzegu, odbij się”. Teraz cały skrypt wygląda tak:

Cały skrypt zawierający ruch głównego bohatera

Dodatkowe wskazówki:

  • Testuj grę na bieżąco – podczas tworzenia skryptów warto co chwilę sprawdzać, jak działa sterowanie i czy kotek zachowuje się zgodnie z oczekiwaniami.
  • Dodaj klatki animacji – możesz sprawić, że kotek będzie zmieniał „kostiumy” przy każdym ruchu, co stworzy efekt biegania.

Przygotowanie sterowania to jeden z najważniejszych elementów gry – teraz to Wy nadajecie kontrolę nad bohaterem i sprawiacie, że gra jest interaktywna! Spróbujcie sami, przetestujcie różne prędkości ruchu i zobaczcie, jakie efekty dają Wasze zmiany. Dajcie znać, jak poszło – jestem pewna, że poradzicie sobie świetnie! 😊

Do usłyszenia wkrótce!

MOŻE ZAINTERESUJE CIĘ RÓWNIEŻ:

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *