11.07.2026 14:06

Silnik gier: interfejs przyklejony do ekranu i sterowanie dotykowe

⏱️ 2 min read
Share:

Interfejs gry ma jedną zasadę: licznik punktów siedzi w rogu ekranu niezależnie od tego, co robi kamera, a przycisk klika się dokładnie tam, gdzie go widać. Ten łuk domyka obie te rzeczy w silniku gier 2D — i dokłada sterowanie ekranowe pod przyszłe telefony.

Kotwice ekranu

Każdy element na warstwie ekranowej może dostać kotwicę — jedną z dziewięciu pozycji (rogi, krawędzie, środek). Pozycja elementu staje się odsunięciem od tego punktu, więc pasek życia trzyma się lewego górnego rogu, a przycisk pauzy prawego — przy każdym rozmiarze okna gry. Dzieci kotwiczonego elementu jadą razem z nim, więc całe panele buduje się raz.

Klik trafia tam, gdzie widzisz

Trafianie w przyciski zostało przepisane na jedną, wspólną matematykę z rendererem: wskaźnik przechodzi przez odwrotność pełnej transformacji elementu — tej samej, którą element jest rysowany. Efekt: interfejs ekranowy klika się w pikselach ekranu niezależnie od kamery, przyciski osadzone w świecie gry uwzględniają jej przesunięcie i zoom, a przeskalowany albo obrócony panel ma obszar klikania dokładnie tak duży i tak obrócony, jak wygląda. Przy okazji wyszła i została załatana subtelność wysokich rozdzielczości: na ekranach HiDPI współrzędne myszy potrafiły być liczone w innej skali niż obraz gry.

Przyciski ekranowe i wirtualny joystick

Pod przyszłe wydania mobilne (i już dziś pod mysz) doszły dwa węzły sterowania: przycisk ekranowy oraz wirtualny joystick. Oba mapują się wprost na akcje mapy wejścia — logika gry dalej pyta „czy wciśnięto skok?", nie wiedząc, czy źródłem był klawisz, pad, czy palec na ekranie. Przycisk trzyma akcję póki jest wciśnięty (i grzecznie ją zwalnia przy zsunięciu palca, zmianie sceny czy utracie fokusu), joystick wciska akcje kierunkowe z martwą strefą, a skrypty mogą też czytać analogowe wychylenie drążka. Grafika kontrolek to zwykłe sprite'y-dzieci — wyglądają dokładnie tak, jak narysuje je twórca.

Całość pokrywają testy uruchamiane bez okna — od poprawnego „pojedynczego strzału" akcji ekranowej co dotknięcie, przez klikanie przy rozjechanej kamerze, po skalowane panele. Pełna rodzina widżetów interfejsu (pola tekstowe, okna dialogowe, kontenery układu) ma już fundament, na którym stanie w kolejnych łukach.

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