Ясно.
Так, всё же с векторами какие-то проблемы.
{
playerMoves = false;
if (Keyboard.GetState().IsKeyDown(Keys.D))
{
playerSpeed.X += 5;
playerMoves=true;
}
if (Keyboard.GetState().IsKeyDown(Keys.A))
{
playerSpeed.X -= 5;
playerMoves = true;
}
if (Keyboard.GetState().IsKeyDown(Keys.W))
{
playerSpeed.Y -= 5;
playerMoves = true;
}
if (Keyboard.GetState().IsKeyDown(Keys.S))
{
playerSpeed.Y += 5;
playerMoves = true;
}
if (playerMoves == true)
{
playerSpeed.Normalize();
playerSpeed *= playerAbsSpeed;
playerPosition += playerSpeed;
}
}
Если нажать влево, а затем вправо, Player улетает непонятно куда( если мониторить playerPosition то улетает он в NaN,NaN ). Что я не так сделал?
З.Ы. знаю что дело можно исправить, если добавить
playerSpeed = Vector2.Zero;
в самое начало, но интересует из-за чего происходит непонятка с координатами без этой строчки.