J'ai beaucoup de feuilles de sprites mal formatées que je veux décomposer ou diviser en plusieurs petites images, une pour chaque sprite. Si je peux le faire, je peux utiliser mon outil de pack de texture personnalisé pour créer mes ressources de jeu avec.
Mes outils de développement sont XNA et C # ciblant Windows. Comment décomposer les images?
Texture2D.GetData
/SetData
et quelques maths relativement simples. Dépend de la façon dont les données sont formatées. Suivez-le avecSaveAsPng
.Réponses:
Essayez Sprite Decomposer ou Sprite Vortex , je crois que les deux ont une coupe automatique des sprites basée sur l'alpha.
la source
Deux méthodes me viennent à l'esprit, selon le nombre de fragments que vous souhaitez créer:
Soit Paint, comme indiqué dans les commentaires. Plus rapide que de coder quelque chose si vous avez un petit nombre de feuilles de sprites et / ou si vous manquez la plupart des mappages.
Ou vous pouvez écrire un petit programme XNA qui ressemble à ceci:
Vous chargez toutes les textures que vous souhaitez découper et pour lesquelles vous avez des coordonnées de mappage dans votre GraphicsDevice
Vous parcourez la collection GraphicsDevice.Textures des objets Texture2D chargés
Vous créez des objets Image à partir de chaque Texture2D
Vous créez des sous-images à partir de chaque grande image, avec des coordonnées en fonction de vos mappages. (l'extrait de code d'Ali Hamdar)
Vous enregistrez les sous-images où vous le souhaitez.
la source
Vous devez éther aller à Adobe Fireworks ou Paint
Mais si vous faites de la peinture, vous aurez également besoin de paint.net! parce que si vous utilisez de la peinture, il va avoir un arrière-plan, donc une fois que vous ouvrez ce sprite dans paint.net, vous pouvez supprimer l'arrière-plan, c'est vraiment simple, mais si vous vous inquiétez des textures comme dans les jeux, vous devez créer le vôtre.
la source