Ich habe viele Spritesheets, die schlecht formatiert sind und die ich zerlegen oder in viele kleine Bilder aufteilen möchte, eines für jedes Sprite. Wenn ich das kann, kann ich mein benutzerdefiniertes Textur-Packer-Tool verwenden, um meine Spiel-Assets mit zu erstellen.
Meine Entwicklungstools sind XNA und C # für Windows. Wie kann ich die Bilder zerlegen?
Texture2D.GetData
/SetData
und einige relativ einfache Mathematik. Hängt davon ab, wie die Daten formatiert sind. Folgen Sie ihm mitSaveAsPng
.Antworten:
Probieren Sie Sprite Decomposer oder Sprite Vortex aus . Ich glaube, beide verfügen über ein automatisches Sprite-Schneiden auf Alpha-Basis.
quelle
Abhängig von der Anzahl der Fragmente, die Sie erstellen möchten, fallen Ihnen zwei Methoden ein:
Entweder malen, wie in den Kommentaren angegeben. Einfach schneller als das Codieren von etwas, wenn Sie eine kleine Anzahl von Spritesheets haben und / oder wenn Ihnen die meisten Zuordnungen fehlen.
Oder Sie könnten ein kleines XNA-Programm schreiben, das ungefähr so aussieht:
Sie laden alle Texturen, die Sie schneiden möchten und für die Sie Zuordnungskoordinaten haben, in Ihr GraphicsDevice
Sie durchlaufen die GraphicsDevice.Textures-Sammlung geladener Texture2D-Objekte
Sie erstellen Bildobjekte aus jeder Texture2D
Sie erstellen aus jedem großen Bild Unterbilder mit Koordinaten entsprechend Ihren Zuordnungen. (das Code-Snippet von Ali Hamdar)
Sie speichern die Unterbilder an einem beliebigen Ort.
quelle
Sie müssen zu Adobe Fireworks oder Paint gehen
Aber wenn du malst, brauchst du auch paint.net! Denn wenn Sie Paint verwenden, wird es einen Hintergrund haben. Sobald Sie dieses Sprite in paint.net öffnen, können Sie den Hintergrund entfernen. Es ist wirklich einfach, aber wenn Sie sich Sorgen um Texturen wie in Spielen machen, müssen Sie Ihre eigenen erstellen.
quelle