11.07.2026 22:02

Silnik gier: animacja postaci sterowana stanem

⏱️ 2 min czytania
Udostępnij:

Silnik gier 2D Moonlight Studio dostał animację postaci sterowaną stanem — sposób, w którym bohater sam gra właściwą animację (stoi, idzie, skacze), a Ty tylko mówisz, w jakim jest stanie.

Nazwane animacje w jednym duszku

Zamiast żonglować listami klatek, animowany duszek trzyma osobne, nazwane klipy — idle, walk, jump, attack — każdy z własną prędkością i pętlą. Przełączasz się między nimi jedną nazwą:

mp.play_animation(bohater, 'jump')

Animacja nadąża za stanem gry

Najwygodniej wskazać klucz stanu i pozwolić, by duszek sam dobierał klip:

mp.set(bohater, 'state', 'walk')   -- gra "walk"
mp.set(bohater, 'state', 'idle')   -- gra "idle"

Logika gry ustawia stan, a animacja podąża sama — zero ręcznego okablowania. mp.current_animation(bohater) w każdej chwili powie, co aktualnie gra.

Skok, który się nie urywa

Animacje jednorazowe — skok, cios, oberwanie — mają swoją pułapkę: łatwo je uciąć, gdy stan ciągle wskazuje „walk". Silnik pilnuje tego za Ciebie: animacja bez pętli odpalona przez mp.play_animation dogrywa do końca, mimo że stan pozostaje niezmieniony, a dopiero po jej zakończeniu bohater wraca do animacji ruchu. Skok wygląda jak skok, nie jak jedna migawka.

Co dalej

Nadchodzą płynne przejścia między animacjami (mieszanie zamiast twardego cięcia) oraz drzewo animacji łączące wiele warstw ruchu naraz — na razie fundament „postać animuje się wg stanu, sama" jest gotowy.

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