У меня есть много спрайт-листов плохо отформатированного формата, которые я хочу разложить или разбить на множество небольших изображений, по одному для каждого спрайта. Если я могу это сделать, я могу использовать свой собственный инструмент для упаковки текстур, чтобы создавать игровые ресурсы.
Моими инструментами разработки являются XNA и C #, ориентированные на Windows. Как я могу разложить изображения?
Texture2D.GetData
/SetData
и некоторые относительно простые математики. Зависит от того, как данные отформатированы. Следите за этимSaveAsPng
.Ответы:
Попробуйте Sprite Decomposer или Sprite Vortex , я полагаю, что они оба имеют автоматическую обрезку спрайтов на основе альфа.
источник
На ум приходят два метода, в зависимости от количества фрагментов, которые вы хотите создать:
Либо покрасьте, как отмечено в комментариях. Легче, чем кодирование чего-либо, если у вас небольшое количество спрайтов и / или если вы пропускаете большинство отображений.
Или вы можете написать небольшую программу XNA, которая выглядит примерно так:
Вы загружаете все текстуры, которые хотите разрезать и для которых у вас есть координаты отображения, в ваш GraphicsDevice
Вы перебираете коллекцию GraphicsDevice.Textures загруженных объектов Texture2D
Вы создаете объекты изображений из каждого Texture2D
Вы создаете подизображения из каждого большого изображения с координатами в соответствии с вашими отображениями. (фрагмент кода Али Хамдар)
Вы сохраняете вложенные изображения в любом месте.
источник
Вам нужно эфир перейти на Adobe Fireworks или Paint
Но если вы занимаетесь рисованием, вам также понадобится paint.net! Потому что, если вы используете paint, у него будет фон, поэтому, когда вы откроете этот спрайт в paint.net, вы сможете убрать фон очень просто, но если вы беспокоитесь о текстурах, как в играх, вы должны создать свой собственный.
источник