11.07.2026 14:57

Silnik gier: interfejs, który układa się sam

⏱️ 2 min czytania
Udostępnij:

Ręczne wyliczanie pozycji każdego przycisku w menu to praca, którą powinien wykonywać silnik. Od tego łuku wykonuje: doszły kontenery układu — węzły, które same rozstawiają swoje dzieci.

Jest ich pięć: rząd (elementy od lewej, wyśrodkowane w pionie), kolumna (od góry, wyśrodkowane w poziomie), siatka o zadanej liczbie kolumn (każdy wiersz tak wysoki, jak jego najwyższy element), margines (odsuwa zawartość od krawędzi) i wyśrodkowanie. Odstępy między elementami to jeden parametr. Kontener jest właścicielem pozycji swoich dzieci — dodajesz przycisk do kolumny i on po prostu trafia na swoje miejsce, także gdy elementy dochodzą lub znikają w trakcie gry. Kontenery można zagnieżdżać (kolumna w rzędzie buduje typowy pasek narzędzi z sekcjami), a całość współgra z kotwicami ekranu i trybami skalowania z poprzednich łuków.

Układanie jest w pełni deterministyczne i policzalne bez otwierania okna — cała macierz przypadków (rzędy, kolumny, siatki z różnymi wysokościami wierszy, marginesy, nadpisywanie ręcznych pozycji) jest pokryta testami. Przy okazji audyt wyłapał kilka rzeczy z pogranicza zdrowego rozsądku: kamera przypadkiem wrzucona do kontenera nie jest już „porywana" do środka celi, a wrogie wartości odstępów z pliku sceny są przycinane zamiast układać elementy od prawej do lewej.

Demo silnika od razu z tego korzysta: etykieta i pasek zbierania monet siedzą teraz w jednej kolumnie przypiętej do rogu ekranu. Następne klocki interfejsu w kolejce: 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.