2013-07-23 84 views
-2

這些天我正在學習Monogame,並且有一個名爲「Texture2D」的類,它具有兩個只讀成員Width和Height。他們從實際使用的圖形中獲取數值。有什麼方法可以改變它們的值,以便紋理的寬度和高度發生變化(或者通過派生或者其他方式)?如果我從它得出,那麼我將如何從Content.Load()方法獲取它的對象?修改類中的只讀成員

+0

當你改變紋理的大小時,你期望它做什麼?伸展?這應該可以在紋理放在表面上時完成。 – Ryan

+2

如果一個屬性是「只讀」,它只是只讀的。你必須創建'Texture2D'的新實例並在構造函數中傳遞新的寬度和高度。 –

回答

3

您不需要更改源紋理的寬度/高度。

對Destination Rectangle使用SpriteBatch.Draw方法。

void Draw(SpriteBatch spriteBatch) 
{ 
    spriteBatch.Begin(); 

    spriteBatch.Draw(texture, new Rectangle(100, 100, 200, 200), Color.White); 

    spriteBatch.End(); 
} 

查看other overloads的比例和旋轉。