Je suis en train de jouer avec des trucs dans XNA et j'essaie de déplacer un objet autour des astéroïdes en ce sens que vous appuyez sur gauche et droite pour tourner et monter/descendre pour avancer et reculer dans la direction pointent. J'ai la rotation de l'image-objet terminée, mais je ne peux pas déplacer l'objet dans la direction que vous lui avez indiquée, il se déplace toujours de haut en bas sur l'axe x = 0.XNA Vector2 Rotation Question
Je suppose que c'est simple mais je n'arrive pas à comprendre. Ma classe « navire » a les propriétés suivantes qui sont note dignes ici:
Vector2 Position
float Rotation
La classe « navire » a une méthode de mise à jour est l'endroit où l'entrée est traitée et jusqu'à présent, j'ai les suivantes:
public void Update(GameTime gameTime)
{
KeyboardState keyboard = Keyboard.GetState();
GamePadState gamePad = GamePad.GetState(PlayerIndex.One);
float x = Position.X;
float y = Position.Y;
if (keyboard.IsKeyDown(Keys.Left)) Rotation -= 0.1f;
if (keyboard.IsKeyDown(Keys.Right)) Rotation += 0.1f;
if (keyboard.IsKeyDown(Keys.Up)) ??;
if (keyboard.IsKeyDown(Keys.Down)) ??;
this.Position = new Vector2(x, y);
}
Toute aide serait grandement appréciée!
Bonne prise. C'est le moyen le plus approprié, étant qu'il utilise les bibliothèques de classes fournies par l'API que vous utilisez. Heureux de vous entendre l'avoir résolu – CDSO1