XNA Vector2 Rotation Question
- by Tom Allen
I'm messing about with some stuff in XNA and am trying to move an object around asteroids-style in that you press left and right to rotate and up/down to go forwards and backwards in the direction you are pointing.
I've got the rotation of the sprite done, but i can't get the object to move in the direction you've pointed it, it always moves up and down on the x = 0 axis.
I'm guessing this is straight forward but I just can't figure it out. My "ship" class has the following properties which are note worthy here:
Vector2 Position
float Rotation
The "ship" class has an update method is where the input is handled and so far I've got the following:
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)) y -= ??;
if (keyboard.IsKeyDown(Keys.Down)) y += ??;
this.Position = new Vector2(x, y);
}
Any help would be most appreciated!