Tengo muchas hojas de sprites mal formateadas que quiero descomponer, o dividir en muchas imágenes pequeñas, una para cada sprite. Si puedo hacer eso, puedo usar mi herramienta personalizada de empaquetador de texturas para construir los recursos de mi juego.
Mis herramientas de desarrollo son XNA y C # dirigidas a Windows. ¿Cómo puedo descomponer las imágenes?
Texture2D.GetData
/SetData
y algunas matemáticas relativamente simples. Depende de cómo se formatean los datos. Sigue conSaveAsPng
.Respuestas:
Prueba Sprite Decomposer o Sprite Vortex , creo que ambos tienen un corte automático de sprites basado en alfa.
fuente
Se te ocurren dos métodos, según la cantidad de fragmentos que quieras crear:
Cualquiera de pintura, como se señala en los comentarios. Fácilmente más rápido que codificar algo si tiene una pequeña cantidad de hojas de sprites y / o si le falta la mayoría de las asignaciones.
O podría escribir un pequeño programa XNA que se parezca a esto:
Carga todas las texturas que desea cortar y para las cuales tiene coordenadas de mapeo en su dispositivo gráfico
Puede recorrer la colección GraphicsDevice.Textures de objetos Texture2D cargados
Crea objetos de imagen a partir de cada Texture2D
Puede crear subimágenes a partir de cada imagen grande, con coordenadas de acuerdo con sus asignaciones. (el fragmento de código de Ali Hamdar)
Guarda las subimágenes en el lugar que desee.
fuente
Necesitas éter ir a Adobe Fireworks o Paint
Pero si estás pintando, ¡también necesitarás paint.net! porque si usas paint, va a tener un fondo, así que una vez que abras ese sprite en paint.net puedes quitar el fondo, es realmente simple, pero si te preocupan las texturas como en los juegos, tienes que crear el tuyo propio.
fuente