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!

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„.




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:
- Poruszał się do góry, na dół, w lewo i w prawo.
- Zatrzymywał się, gdy dotknie ściany labiryntu (aby nie wychodził poza planszę oraz poza ścieżkę).
- 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 😉:

1. Skrypt ruchu dla kotka
- Otwieramy projekt w Scratchu i klikamy na duszka „Kotek”.

- Przechodzimy do zakładki „Skrypty”.

- Wybieramy blok „Kiedy naciśnięto [zieloną flagę]” z kategorii „Zdarzenia”.


- 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.


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:
- Wymiar góra-dół (oś „Y”)
- Wymiar prawo-lewo (oś „X”)





- 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”:





- Wewnątrz tego bloku umieszczamy blok „zmień y o 10” (co oznacza ruch do góry).


- 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:

3. Ograniczenie ruchu – ściany labiryntu
Aby nasz kotek nie „przechodził przez ściany”, musimy dodać warunki kolizji:
- 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:







- Wewnątrz umieszczamy blok „przesuń o -10 punktów na osi y” (cofnięcie kotka, aby zatrzymał się na ścianie).


- Dostosowujemy to dla wszystkich kierunków ruchu.



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:

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!