Mam wiele źle sformatowanych arkuszy, które chcę rozpakować lub podzielić na wiele małych obrazów, po jednym dla każdego duszka. Jeśli mogę, mogę użyć niestandardowego narzędzia do pakowania tekstur, aby zbudować zasoby gry.
Moje narzędzia programistyczne to XNA i C # przeznaczone dla systemu Windows. Jak mogę rozłożyć obrazy?
Texture2D.GetData
/SetData
i niektóre stosunkowo proste matematyki. Zależy od sposobu formatowania danych. Kontynuuj zSaveAsPng
.Odpowiedzi:
Spróbuj Sprite Decomposer lub Sprite Vortex , uważam, że oba mają automatyczne cięcie sprite oparte na alfa.
źródło
Przychodzą mi na myśl dwie metody, w zależności od liczby fragmentów, które chcesz utworzyć:
Albo Paint, jak zaznaczono w komentarzach. Łatwo szybsze niż kodowanie czegoś, jeśli masz małą liczbę arkuszy sprite i / lub jeśli brakuje większości mapowań.
Lub możesz napisać mały program XNA, który wygląda mniej więcej tak:
Wczytujesz wszystkie tekstury, które chcesz wyciąć i dla których masz współrzędne mapowania do GraphicsDevice
Iterujesz przez kolekcję GraphicsDevice.Textures załadowanych obiektów Texture2D
Obiekty graficzne tworzysz z każdego Texture2D
Z każdego dużego obrazu tworzysz podobrazy o współrzędnych zgodnych z mapowaniem. (fragment kodu Ali Hamdar)
Zapisujesz podobrazy w dowolnym miejscu.
źródło
Musisz przejść do programu Adobe Fireworks lub Paint
Ale jeśli malujesz, będziesz także potrzebował paint.net! ponieważ jeśli użyjesz farby, będzie miała tło, więc po otwarciu tego duszka w paint.net możesz usunąć tło, jest to naprawdę proste, ale jeśli martwisz się teksturami, takimi jak w grach, musisz stworzyć własne.
źródło