Texture texture = textureRegion.getTexture();
if (!texture.getTextureData().isPrepared()) {
texture.getTextureData().prepare();
}
Pixmap pixmap = texture.getTextureData().consumePixmap();
Wenn Sie nur einen Teil dieser Textur (die Region), dann werden Sie einige manuelle Verarbeitung zu tun haben:
for (int x = 0; x < textureRegion.getRegionWidth(); x++) {
for (int y = 0; y < textureRegion.getRegionHeight(); y++) {
int colorInt = pixmap.getPixel(textureRegion.getRegionX() + x, textureRegion.getRegionY() + y);
// you could now draw that color at (x, y) of another pixmap of the size (regionWidth, regionHeight)
}
}
danke, aber afaik 'textureRegion.getTexture()' wird den ganzen Text (Atlas) zurückgeben? –
Ja, es tut genau das. Es gibt keinen anderen Weg, da es nur diese eine Textur gibt (das ist der ganze Sinn eines Atlas). Sie müssen Ihre eigenen kleineren Pixmaps erstellen und die Teile der Regionen kopieren. – noone
Ich habe ein kleines Code-Snippet (ungetestet) hinzugefügt, wie man das machen könnte. – noone