14.07.2026 15:43

Moonlight Animate — wizualny edytor gier 2D jest gotowy

⏱️ 3 min czytania
Udostępnij:

Silnik gier 2D wbudowany w Moonlight Animate przez ostatnie tygodnie dorobił się kompletnego wizualnego edytora scen. To sześć faz pracy, które razem dają jedno: świat gry składasz i układasz myszą — od struktury sceny, przez właściwości obiektów, po mapy i rozstawienie postaci — bez zaglądania do plików. Ten wpis podsumowuje, co edytor potrafi.

Drzewo sceny, które się edytuje

Sercem edytora jest żywe drzewo sceny — cała hierarchia węzłów odświeżana na bieżąco. Węzły przeciąga się myszą, żeby zmienić rodzica; domyślnie obiekt zostaje tam, gdzie był na ekranie (zmieniamy tylko, komu podlega), a z Shiftem jedzie razem z nowym rodzicem. Z menu kontekstowego dodajesz węzeł dowolnego typu, zmieniasz nazwę albo usuwasz. Pasek narzędzi ma pauzę logiki gry (żeby edytować „na stole") i zapis sceny.

Inspektor, który pisze do obiektu

Zaznaczenie węzła buduje property-grid — siatkę kontrolek dobranych do typu każdego pola: pola liczbowe dla pozycji, skali i rotacji, przełączniki dla flag, pole tekstowe dla nazwy. Każda zmiana zapisuje się wprost do obiektu na żywo, więc efekt widać natychmiast w podglądzie. Grid pilnuje, żeby odświeżanie nie kradło tego, co właśnie wpisujesz. Pod nim zostaje podgląd „tablicy" węzła i informacja o skrypcie.

Malowanie map kafelkowych

Warstwy kafelkowe maluje się myszą na kanwie. Wybierasz kafel z palety miniatur (ciętych wprost z atlasu projektu), lewym przyciskiem malujesz, prawym ścierasz, a przeciąganie kładzie ciągłą kreskę. Jest narzędzie wypełniania (jedno kliknięcie zalewa spójny obszar) oraz oznaczanie kafla jako solidnego — wtedy każda komórka z tym kaflem staje się ścianą, o którą gracz się odbija. Trafienie w komórkę jest dokładne niezależnie od tego, jak przesunięta czy przybliżona jest kamera.

Rozstawianie i przesuwanie obiektów

Ostatni element to stawianie obiektów prosto na kanwie. W trybie „Postaw" wybierasz typ węzła, a półprzezroczysty duszek podąża za kursorem z przyciąganiem do siatki (którą regulujesz, a Ctrl ją omija). Kliknięcie stawia obiekt dokładnie tam, gdzie widać duszka. Tryb „Zaznacz" pozwala kliknąć dowolny obiekt na scenie (nie tylko te z fizyką) — zaznacza go w drzewie i inspektorze — a przeciągnięcie go przesuwa. Postawiony obiekt od razu trafia do drzewa, a jego pozycja do zapisanej sceny.

Pod spodem siedzi trochę matematyki, która musiała być dokładna: przeliczenie kursora z pikseli okna na współrzędną świata (odwrócenie pełnego łańcucha kamery i transformacji), hit-test dowolnego węzła po jego granicach (z poprawnym rozstrzyganiem, który obiekt jest „na wierzchu") oraz ustawianie pozycji świata świadome fizyki — przesunięty obiekt fizyczny nie „ucieka" z powrotem po wznowieniu gry. Rdzeń tej logiki jest przetestowany automatycznie, niezależnie od interfejsu.

Wszystko w jednym miejscu

Całość spina obszar roboczy „Gra": panel edytora (drzewo, inspektor, paleta, malarz kafli, rozstawianie) dokuje się do okna, a podgląd gry działa obok. Panel przeżywa restarty podglądu i sam się do nich przepina.

Co dalej

Wizualny edytor scen to fundament. Świadomie zostawiliśmy sobie na później kilka rzeczy: cofanie/ponawianie edycji sceny, przeglądarkę gotowych prefabów, rozbicie panelu na osobne doki i teksturowany duszek. Kolejny duży kierunek to tekst gry w każdym języku (polski, znaki azjatyckie i inne) jako podkład pod system dialogów — czyli droga w stronę gier fabularnych składanych w całości w Moonlight Animate.

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