27.06.2026 17:12

Moonlight Animate: pełne API skryptów i automatyzacja

⏱️ 3 min czytania
Udostępnij:

Moonlight Animate: pełne API skryptów i automatyzacja

Skrypty w Moonlight Animate przestają być ciekawostką, a stają się pełnoprawnym narzędziem pracy. Dotąd można było automatyzować właściwie tylko filtry i korekcje — a nagrywanie „Akcji" rejestrowało wyłącznie te dwie rzeczy. Od tej aktualizacji obiekt app w konsoli skryptów obejmuje cały edytor, a nagrywanie akcji zapisuje wszystko, co robisz.

Co potrafią teraz skrypty

Globalny obiekt app dostał kompletne, dziedzinowe „przestrzenie nazw" — każda to zestaw poleceń dla danego obszaru programu:

  • app.layer.* — warstwy: tryb mieszania, krycie, widoczność, nazwa, blokady, grupy, zaznaczenie wielu warstw naraz, wyrównywanie i rozmieszczanie, scalanie i spłaszczanie.
  • app.mask.* — maski rastrowe i wektorowe: dodaj/ukryj, z zaznaczenia, gęstość i wtapianie, maska przycinająca.
  • app.select.* — zaznaczenia: prostokąt, elipsa, z luminancji/alfy, wtapianie, powiększ/zmniejsz, obwódka, wygładź, transformacja, wypełnij/wyczyść/skopiuj na nową warstwę.
  • app.image.* — obraz i płótno: rozmiar, skalowanie, kadrowanie, obrót, odbicie, tryby koloru.
  • app.color.* — kolory pierwszego planu i tła, gradient (stopnie, styl), wzory, ustawienia wiadra.
  • app.transform.* — transformacje warstwy: odbicie, obrót, przesunięcie, skala, swobodne przekształcenie.
  • app.brush.* — ustawienia pędzla i programowe pociągnięcia (stroke/dab).
  • app.text.* — warstwy tekstowe: utwórz (font, rozmiar, kolor, pogrubienie, wyrównanie), zmień treść, rasteryzuj.
  • app.path.* — ścieżki wektorowe.
  • app.anim.* — animacja: liczba klatek na sekundę, ścieżki, klatki kluczowe na osi czasu.

Do tego doszła introspekcja (app.docInfo(), app.layerInfo(i) zwracają informacje o dokumencie i warstwach — przydatne w skryptach warunkowych) oraz tryb headless (app.applyAdjustmentHeadless, app.applyFilterHeadless) do automatyzacji bez wyskakujących okien.

Nagrywanie, które nareszcie nagrywa wszystko

Najważniejsza zmiana w praktyce: panel „Akcje" zapisuje teraz każdą operację, nie tylko filtry. Włącz „Nagrywaj", popracuj normalnie — dodaj warstwę, zmień tryb mieszania, zrób zaznaczenie, przekształć, wpisz tekst — a Moonlight Animate zbuduje z tego gotowy skrypt, który odtworzysz jednym kliknięciem albo zapiszesz do pliku i uruchomisz wsadowo na całym folderze obrazów.

Pod spodem działa to elegancko: każde wywołanie API jest przechwytywane automatycznie, więc nagrywanie obejmie też wszystkie przyszłe polecenia bez dodatkowej pracy. Zadbaliśmy przy tym o szczegóły, które łatwo przeoczyć — odtwarzanie akcji nie nagrywa się powtórnie, a same zapytania (np. „ile jest warstw") nie zaśmiecają nagrania.

Solidne fundamenty

Całość to cienkie nakładki na sprawdzone mechanizmy edytora — skrypty wołają dokładnie ten sam kod, co interfejs, więc zachowują się identycznie jak ręczna praca. Nowy kod przeszedł rygorystyczny przegląd pod kątem błędów (wyłapaliśmy i naprawiliśmy m.in. ryzyko „puchnącego" nagrania przy odtwarzaniu oraz nieoczekiwane operacje na aktywnej warstwie) — zanim trafił do Was.

To pierwszy krok większego planu: w kolejnych odsłonach Moonlight Animate dostanie wizualny edytor węzłów do proceduralnego tworzenia tekstur i automatyzacji „klockami" — a opisane tu API będzie jego silnikiem.

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