2017-10-09 67 views
2

使用LibGDX编程时,我发现有两种方法可以绘制一个精灵。但首先这是我的情况:LibGDX:Sprite绘图和SpriteBatch绘图之间有什么区别?

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

第一种方法是从SpriteBatch:

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

第二种方法是从雪碧本身:

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

什么这种方法之间的区别?希望你能帮助我:d 〜亨利

PS:I'm初学者:d

+0

'SpriteBatch'没有任何'draw(...)'方法将'Sprite'作为第一个参数。 – Aryan

+0

它延伸TextureRegion –

+0

哦。对不起,我忘了谁是'雪碧'的父母。 – Aryan

回答

1
testSprite.draw(batch); 

Sprite持有的几何形状,颜色和纹理绘制使用批处理2D精灵的信息。一个Sprite有一个位置和一个宽度和高度的大小。

以一种简单的方式,你可以说雪碧是一个完整的包(绘制的地方,以及像大小,比例因子,旋转等不同的因素)。

但如果你使用

batch.draw(testSprite,...); 

,那么你已经指示的位置,大小和所需的draw(..)方法的另一种说法绘制的另一个因素。

+1

谢谢,很好的解释:D –

相关问题