23.07.2026 19:40

Moonlight Animate: zapis, który mówi, i eksport, który pokazuje

⏱️ 3 min read
Share:

Są funkcje, których nikt nie zauważa, dopóki ich nie ma. Zapis pliku to chyba najlepszy przykład — używasz go setki razy dziennie i myślisz o nim dopiero wtedy, gdy coś jest nie tak. W tej fazie wzięliśmy na warsztat cały „ostatni metr" pracy z plikiem: zapis, eksport i to, co program mówi (albo dotąd NIE mówił) po drodze.

Zapis jak w profesjonalnych edytorach

Do tej pory Ctrl+S w Moonlight Animate za każdym razem pytał, gdzie zapisać plik — nawet jeśli dokument miał już swoją nazwę i miejsce na dysku. Teraz działa tak, jak wszyscy tego oczekują:

  • Zapisz (Ctrl+S) — dokument z nazwą zapisuje się po cichu do swojego pliku. Bez pytań. Pracujesz w trybie sceny animacji? Zapisze scenę. Program wie, co robisz.
  • Zapisz jako… (Ctrl+Shift+S) — świadoma decyzja „chcę nowy plik": zawsze otwiera dialog, a dokument od tej pory mieszka pod nową ścieżką.
  • Zapisz kopię… — zapisuje migawkę „na bok" (np. rysunek-kopia.mart), ale Twój otwarty dokument zostaje przy swoim pliku, swoim tytule i swoich niezapisanych zmianach. Idealne na wersje „na wszelki wypadek".

Do tego drobiazg, który zmienia codzienność: po każdym zapisie i eksporcie pasek stanu potwierdza, co się stało — nazwa pliku, jego waga (KB/MB) i wymiary. Koniec z zapisywaniem „w ciemno" i sprawdzaniem w eksploratorze, czy plik naprawdę powstał i ile waży.

„Eksportuj jako…" — zobacz wynik ZANIM zapiszesz

Największa nowość tej fazy. Dotychczasowy eksport działał, ale był ślepy: wybierałeś jakość JPEG liczbą i dowiadywałeś się, jak wyszło, dopiero po otwarciu pliku. Nowy dialog Eksportuj jako… odwraca kolejność:

  • Podgląd pokazuje ZAKODOWANY obraz — nie oryginał, tylko dokładnie to, co trafi do pliku. Zjedziesz z jakością za nisko? Artefakty kompresji widzisz od razu, po lewej, zanim klikniesz „Eksportuj".
  • Rozmiar pliku jest dokładny, nie szacowany — program naprawdę koduje obraz w pamięci i pokazuje wynik co do bajta. A robi to w tle, więc nawet na wielkich dokumentach suwak jakości chodzi płynnie.
  • Zmiana rozmiaru robiona porządnie — gdy eksportujesz w innej rozdzielczości, dokument jest renderowany od nowa w docelowym rozmiarze. Tekst i kształty wektorowe zostają ostre, bo nie skalujemy gotowego obrazka — rysujemy go jeszcze raz, we właściwej wielkości.
  • Kilka rozmiarów naraz — lista skal (0.5x, 1x, 2x…) z własnym przyrostkiem nazwy dla każdej. Jeden klik i masz komplet: ikona.png, ikona@2x.png. Ukłon w stronę wszystkich, którzy robią assety do gier i aplikacji.
  • Formaty PNG / JPEG / WebP / GIF / BMP / TGA, tryb 8-bitowy dla mniejszych PNG, progresywny JPEG, kontrola metadanych i zawsze poprawny kolor (sRGB z osadzonym profilem).

Szybki eksport — zero dialogów

Dla tych, którzy eksportują ten sam sposób sto razy dziennie: w Preferencjach ustawiasz raz format, jakość i folder — a potem Szybki eksport robi wszystko jednym kliknięciem, bez żadnego okna. Plik ląduje obok dokumentu, z automatycznym unikaniem nadpisania (nazwa (2).png). Etykieta w menu zawsze pokazuje, w jakim formacie wyjdzie plik.

I jeszcze jedno — karty dokumentów na diecie

Zakładki otwartych dokumentów były po prostu za wysokie. Teraz są niskie — tyle, ile potrzebuje tekst — a odzyskane piksele wracają tam, gdzie ich miejsce: na płótno.


Miłego tworzenia!

📚 Related posts

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...
Continue reading →
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...
Continue reading →
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...
Continue reading →

📧 Stay up to date!

Join the waitlist to get notified about new Dev Blog posts and Moonlight platform launch.