A ce jour que je charge ma texture comme ceci:Libgdx donne à chaque texture des propriétés d'image?
Texture texture = new Texture(path);
Sprite sprite = new Sprite(texture);
batch.draw(sprite.getTexture(), x,y);
simple que cela. Mais maintenant j'ai un petit problème, j'ai beaucoup de types d'entités, et chacun a une taille différente, cependant, j'ai une carte isométrique, et j'ai besoin de centrer chaque sprite sur la tuile (pas tous les sprites sont plus grand que la tuile, donc ce n'est pas quelque chose qui dépasse 4 tuiles ou quelque chose, ils sont juste un peu plus gros que la tuile, et a besoin d'un peu de décalage).
Donc, fondamentalement, je besoin d'un système d'emballage, ce qui peut emballer une image sprite (ou un ensemble d'images avec la même taille) et un propriétés inclus à l'intérieur, ce qui aura offsetX
et offsetY
donc je peux utiliser comme ça:
batch.draw(sprite.getTexture(), x + offsetX, y + offsetY);
Existe-t-il une telle chose dans LibGDX?
Je l'ai déjà essayé de le faire:
int x = (i * GameTile.TILE_WIDTH/2) - (j * GameTile.TILE_WIDTH/2) - (texture.getWidth()/2);
int y = (i * GameTile.TILE_HEIGHT/2) + (j * GameTile.TILE_HEIGHT/2) - (texture.getHeight()/2);
i
et j
est la position de tuiles dans le tableau.
pourquoi ne vous obtenez pas seulement la taille de la texture et de calculer le décalage? Je veux dire, tu sais quelle est la taille d'une tuile ... Pas besoin d'emballer dans des groupes ou quoi que ce soit. –
Comment feriez-vous cela? chaque sprite situé différemment dans l'image, je veux dire comment pouvez-vous le rendre parfait sur la tuile? – Jony
Oh, attends, je crois que j'ai mal compris. Vous avez une texture qui contient tous les sprites? Je suppose que vous ne devriez pas mélanger les différentes tailles de sprite dans un seul fichier de texture –