2017-10-09 5 views
2

Lors de la programmation avec LibGDX, j'ai remarqué qu'il y a deux méthodes pour dessiner un sprite. Mais d'abord, de tout ce qui est ma situation:LibGDX: Quelle est la différence entre dessiner par Sprite et dessiner par SpriteBatch?

(...) 
SpriteBatch batch; 
Sprite testSprite; 
(...) 
batch = new SpriteBatch(); 
testSprite = new Sprite(new Texture("test.png")); 
(...) 

La première méthode est de la SpriteBatch:

(...) 
batch.draw(testSprite,...); 
(...) 

La deuxième méthode est de la Sprite lui-même:

(...) 
testSprite.draw(batch); 
(...) 

Quels sont les différences entre ces méthodes? Espérons que vous pouvez me aider: D ~ Henri

PS: je suis débutant: D

+0

'SpriteBatch' n'ayant aucune méthode' draw (...) 'qui prend' Sprite' comme dans le premier argument. – Aryan

+0

il s'étend de TextureRegion –

+0

Ohhh. désolé j'ai oublié qui est parent de 'Sprite'. – Aryan

Répondre

1
testSprite.draw(batch); 

Sprite détient la géométrie, la couleur et l'information de texture pour dessiner des sprites 2D à l'aide de lot. Un Sprite a une position et une taille données en largeur et en hauteur.

D'une manière simple, vous pouvez dire que Sprite est un package complet (où dessiner et avec différents facteurs comme la taille, le facteur d'échelle, la rotation ..).

Mais si vous utilisez

batch.draw(testSprite,...); 

Ensuite, vous avez à instruire la position, la taille et un autre facteur qui nécessaire pour dessiner un autre argument de la méthode draw(..).

+1

Merci, bonne explication: D –