Hello all. I'm trying to get movement just right for an asteroidstype ship(overhead, no gravity), but I've noticed that angles near multiples of 90 degrees don't quite work the way I'd like them to.
Specifically, this means that if I rotate the ship 10 degrees(past zero) and then move it 'forward', it will travel horizontally instead of at the proper angle.
Any ideas on how I could fix this?
This is how I'm moving the ship:
if(keydown(Key.Up)){
float dx = 0.2f * (float)Math.Cos(((float)ship.rotation) * Math.PI / 180.0);
float dy = 0.2f * (float)Math.Sin(((float)ship.rotation) * Math.PI / 180.0);
Microsoft.Xna.Framework.Vector2 vec = ship.body.LinearVelocity + new Vector2(dx,dy).xna;
ship.body.LinearVelocity = vec;
}
Thank you.
dsc
