2017-10-09 66 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 –

相關問題