11.07.2026 19:14

Silnik gier: kamera podąża za bohaterem

⏱️ 2 min czytania
Udostępnij:

Silnik gier 2D Moonlight Studio dostał to, czego potrzebuje każda gra z przewijanym poziomem: kamerę, która podąża za bohaterem i nie wyjeżdża poza mapę.

Kamera goni cel

Jedna linijka skryptu przypina kamerę do postaci:

mp.camera_follow(kamera, gracz, 0.15)

Trzeci argument to miękkość ruchu w sekundach: 0 sprawia, że kamera jest sztywno przyklejona do celu, a większe wartości dają łagodne doganianie (kamera „dogania" bohatera z lekkim opóźnieniem). Ruch jest niezależny od liczby klatek — na słabszym i mocniejszym sprzęcie kamera dogania tak samo szybko w czasie rzeczywistym.

Cel wskazuje się nazwą, więc powiązanie przetrwa zapis i wczytanie gry, a usunięcie obiektu nigdy nie zostawia kamery z „wiszącym" wskaźnikiem — po prostu zatrzymuje się w miejscu.

Granice poziomu

Żeby kadr nie pokazywał pustki za krawędzią mapy, wystarczy podać granice:

mp.camera_limits(kamera, 0, 0, szerokosc_poziomu, wysokosc_poziomu)

Kamera zatrzymuje się na krawędziach zamiast wyjeżdżać poza poziom. A jeśli poziom jest węższy niż ekran, kamera automatycznie centruje się na nim — bez ręcznego liczenia. Ograniczenie zdejmuje się przez mp.camera_clear_limits.

Co dalej

W kolejnych wersjach: martwa strefa (kamera rusza dopiero, gdy bohater wyjdzie poza środkowy prostokąt), wyprzedzanie ruchu w kierunku biegu oraz efekt drżenia kamery przy wybuchach i uderzeniach.

📚 Powiązane posty

14.07.2026 22:19

Silnik gier: od szablonu do grywalnej gry RPG top-down

Startowy szablon silnika gier to teraz kompletny, grywalny wycinek gry RPG top-down: chodzenie po siatce, rozmowy z postaciami, przeciwnik goniący gdy...
Czytaj dalej →
14.07.2026 19:16

Moonlight Animate — system dialogów w grach

Silnik gier 2D w Moonlight Animate ma teraz kompletny system dialogów: kwestie z efektem maszyny do pisania, wybory z warunkami, zmienne fabularne i g...
Czytaj dalej →
14.07.2026 18:40

Moonlight Animate: ruchoma panorama dźwięku także w wyeksportowanym wideo

Dźwięk przejeżdżający z lewego do prawego głośnika brzmiał dobrze w podglądzie, ale eksport przez serwer zamrażał go w miejscu. Ostatnia luka parytetu...
Czytaj dalej →

📧 Bądź na bieżąco!

Zapisz się na listę oczekujących, aby otrzymywać powiadomienia o nowych postach na Dev Blog oraz informacje o starcie platformy Moonlight.