2012-05-10 2 views
1

J'ai un ensemble d'images dans lequel chaque image doit être capable de tourner à 90 degrés, 180 degrés et 270 degrés. Toutes ces images sont de type Texture2D. Y at-il des fonctions intégrées pour accomplir cela pour moi? Ou devrais-je charger d'autres images pivotées de chaque image? Ou y a-t-il une meilleure façon d'accomplir cette tâche?Microsoft Xna Texture2D et la rotation

Répondre

5

Vous pouvez faire pivoter (et mettre à l'échelle) vos textures lorsque vous les dessinez dans le tampon en utilisant SpriteBatch.Draw, bien que vous deviez spécifier la plupart (ou la totalité) des arguments. Les angles sont donnés en radians.

SpriteBatch.Begin(); 
angle = (float)Math.PI/2.0f; // 90 degrees 
scale = 1.0f; 
SpriteBatch.Draw(myTexture, sourceRect, destRect, Color.White, angle, 
       position, scale, SpriteEffects.None, 0.0f); 
SpriteBatch.End(); 

http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.graphics.spritebatch.draw.aspx

Vous pouvez également charger des copies pré-pivotés des images, mais vous aurez probablement la conférence habituelle prématurée d'optimisation.

Questions connexes