11.07.2026 18:45

Silnik gier: prefaby — jeden wróg, sto instancji

⏱️ 2 min read
Share:

Silnik gier 2D Moonlight Studio dostał brakujący element działającej gry: prefaby. Zaprojektuj wroga, pocisk albo monetę raz — jako osobną pod-scenę — i powielaj w grze, ile potrzeba.

Jeden szablon, wiele kopii

mp.instantiate('pocisk') buduje nową kopię pod-sceny i oddaje uchwyt do niej:

local pocisk = mp.instantiate('pocisk')
mp.set_position(pocisk, {gracz_x, gracz_y})

Uchwyt reprezentuje całą instancję: ustawienie jego pozycji przesuwa cały pocisk, a mp.free(uchwyt) usuwa go w całości. Każda instancja jest w pełni niezależna — dostaje własne skrypty (ich _ready odpala się osobno) i własną tablicę stanu, więc dwa pociski nigdy nie dzielą życia ani liczników.

Także w grafie zdarzeń

Kto woli budować logikę wizualnie zamiast skryptem, ma węzeł „instantiate" z parametrem sceny i opcjonalnym rodzicem — zapisuje uchwyt do zmiennej dokładnie tak samo, jak robi to skrypt.

Bezpieczne z natury

Prośba o nieistniejącą pod-scenę zwraca pusty uchwyt zamiast wywracać grę. Scena, która przez pomyłkę tworzy samą siebie w _ready, jest ucinana na bezpiecznej głębokości — zamiast przepełnić stos. A ponieważ instancja pojawia się natychmiast, można ją pozycjonować i podpinać w tej samej klatce, w której powstała.

Co dalej

Nadchodzą: podmiana wybranych właściwości przy tworzeniu instancji (ten sam pocisk, inny kolor), pamięć podręczna wczytanej pod-sceny dla setek instancji naraz oraz edytor prefabów w edytorze projektów gry.

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