2013-07-23 2 views
-2

J'apprends monogame ces jours-ci et il y a une classe appelée « Texture2D » qui a deux membres readonly Largeur et Hauteur. Ils prennent des valeurs du graphique réel utilisé. Est-il possible que je peux changer leurs valeurs afin que la largeur et la hauteur des changements de texture (soit en dérivant de celui-ci ou d'une autre manière)? Et si j'en tire, alors comment vais-je obtenir son objet à partir de la méthode Content.Load()?Modifier les membres readonly dans une classe

+0

Lorsque vous modifiez la taille de la texture, qu'attendez-vous qu'il fasse? Étendue? Cela devrait probablement être fait lorsque la texture est mise sur une surface. – Ryan

+2

Si une propriété est 'readonly' elle a été construite pour être en lecture seule. vous devez créer une nouvelle instance de 'Texture2D' et passer une nouvelle largeur et hauteur dans le constructeur. –

Répondre

3

Vous n'avez pas besoin de changer la largeur/hauteur de la texture source.

Utilisez la méthode SpriteBatch.Draw avec la destination Rectangle.

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

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

    spriteBatch.End(); 
} 

Jetez un oeil à l'other overloads pour l'échelle et la rotation.

Questions connexes