11.07.2026 19:14

Silnik gier: kamera podąża za bohaterem

⏱️ 2 min read
Share:

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.

📚 Related posts

27.08.2026 20:55

Data, której nie cofniemy nawet my

Każdy certyfikat autorstwa dostaje datę zapisaną w blockchainie Bitcoina — takiej nie podważy nikt, my też nie. Sprawdzisz ją bez konta i bez Moonligh...
Continue reading →
27.08.2026 19:35

Twój kolor, wszędzie

Trzy tryby i siedem akcentów, wspólnych dla strony i Moonlight Animate. Motyw jedzie z kontem, profil pokazuje gościom Twoje kolory, a harmonogram sam...
Continue reading →
27.08.2026 18:31

Kto moderuje i na jakiej podstawie

Moderator to teraz osobna rola z własnym zakresem, a nie administrator w przebraniu. Odrzucenie treści wymaga powodu, który trafia do autora razem z d...
Continue reading →

📧 Stay up to date!

Join the waitlist to get notified about new Dev Blog posts and Moonlight platform launch.