13.07.2026 14:34

Silnik gier: liny, lasery i trajektorie (Line2D)

⏱️ 2 min czytania
Udostępnij:

Silnik gier 2D Moonlight Studio umiał dotąd rysować kwadraty z teksturą — sprite'y, kafle, interfejs. Nie umiał narysować linii. A linia to w grach codzienność: lina do haka, snop lasera, trajektoria pocisku przed strzałem, kontur strefy zagrożenia.

Nowy węzeł: Line2D

Polilinia o zadanej grubości: podajesz punkty, grubość w pikselach i opcjonalnie domknięcie (kontur). Każdy segment silnik renderuje jako obrócony czworokąt — tą samą maszynerią co cząsteczki, więc linie kosztują tyle co sprite'y i sortują się z resztą sceny.

-- celownik łuku: parabola przeliczana co klatkę
mp.set_line_points(celownik, {x0,y0, x1,y1, x2,y2, x3,y3})
mp.set_line_width(celownik, 3)

Kolor bez nowego pokrętła

Linia nie ma osobnego pola koloru — jej barwą jest barwa własna węzła (mp.set_self_modulate), ta sama oś, która barwi pojedyncze sprite'y. Czerwony laser to jedna linijka. Bonus wynika z architektury: barwa dziedziczona sceny (np. przyciemnienie nocą) obejmuje linie dokładnie tak jak wszystko inne — zero specjalnych przypadków.

Odporne na złe dane

Punkty aktualizowane ze skryptu przechodzą kontrolę w całości albo wcale — jedna zepsuta wartość nie zostawia liny „w pół drogi". Sceny z dysku filtrują nieskończoności, powtórzone punkty znikają bez śladu, a domknięcie konturu z dwóch punktów nie rysuje tego samego odcinka dwa razy.

Co dalej

Styki segmentów są w tej wersji proste — na bardzo ostrych kątach przy dużej grubości widać szczeliny. W kolejce: łączenia ścięte i zaokrąglone oraz smugi (trail) budowane na Line2D.

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