11.07.2026 14:40

Silnik gier: panele, paski i dziewięciopolówki

⏱️ 2 min czytania
Udostępnij:

Interfejs gry to nie tylko przyciski. Silnik gier 2D dostał cztery podstawowe klocki, z których składa się każde okno dialogowe i każdy HUD:

  • Panel — barwiony prostokąt tła, fundament grup i okienek,
  • Obrazek interfejsu (TextureRect) — ikona czy portret o jawnie zadanym rozmiarze, niezależnym od rozmiaru pliku graficznego,
  • Pasek postępu (ProgressBar) — życie, ładowanie, zbieranie: tło plus wypełnienie rosnące od lewej. Sterowanie to jedna linijka w skrypcie — mp.set(pasek, 'value', 0.7) — bez żadnego dodatkowego API, bo wartość mieszka w tej samej tablicy właściwości węzła, co cała reszta stanu gry,
  • Dziewięciopolówka (NinePatchRect) — ramka okna cięta marginesami na dziewięć pól: rogi rysują się zawsze 1:1, krawędzie rozciągają się wzdłuż, a środek w obu osiach. Okno dialogowe może mieć dowolny rozmiar i ramka nigdy nie rozjedzie się brzydko.

Wszystkie cztery od urodzenia rozumieją kotwice ekranu i warstwy interfejsu z poprzednich łuków — pasek życia przyczepiony do górnej krawędzi po prostu działa, przy każdej rozdzielczości i trybie skalowania. Demo silnika dostało od razu żywy przykład: pasek zbierania monet nad planszą, aktualizowany ze skryptu i grzecznie zerowany przy nowej rundzie. Brakująca grafika nie znika już po cichu — ląduje jako wpis w konsoli Output.

Następne w kolejce klocki interfejsu: kontenery automatycznego układu, pola tekstowe i formatowany tekst dialogów.

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