Les classes qui représentent des images, telles que AtlasSprite, ne pouvaient pas être correctement ajustées avec des méthodes d'ajustement de taille telles que setScale et setSize. La taille peut être ajustée avec setScale, mais bien sûr, le rapport d'image changera également. Que dois-je faire si je veux redimensionner la taille plus petite tout en conservant le rapport d'image? Et si vous voulez bien couper l'image tout en conservant l'échelle?
Remplacez la méthode de dessin.
De manière générale, si vous le faites comme ça, cela fonctionnera. Cela donne l'impression de réduire la zone de dessin pour chaque image dans la méthode de dessin.
AssetManager manager = new AssetManager();
TextureAtlas atlas = manager.get("hoge",TextureAtlas.class);
TextureAtlas.AtlasSprite sprite = new TextureAtlas.AtlasSprite(atlas.findRegion("hoge")){
@Override
public void draw(Batch batch) {
batch.draw(this, this.getX(), this.getY(), this.getOriginX(), this.getOriginY(),
this.getWidth() /2f, this.getHeight()/2f, //Réduisez de moitié la hauteur et la largeur
this.getScaleX(), this.getScaleY(), this.getRotation());
}
};
How to resize a sprite in Libgdx?
Recommended Posts