Я использую XNA для поворота изображения. Я хочу, чтобы он вращался в одном направлении, а затем назад, так что он делает движение вперед и назад.
однако по какой-то причине мой код не работает. Он вращается влево, затем останавливается.
Так что если кто-нибудь может сказать мне, почему? Также в C # на случай, если кому-то интересно.
float elapsed = (float)gameTime.ElapsedGameTime.TotalSeconds;
bool goleft = true;
//Calculate rotation angle based on time elapsed
float circle = MathHelper.Pi * 2;
elapsed *= 2;
if (RotationAngle >= 0.7f)
{
goleft = true;
}
if (RotationAngle <= -0.7f)
{
goleft = false;
}
switch (goleft)
{
case true:
RotationAngle -= elapsed % circle;
break;
case false:
RotationAngle += elapsed % circle;
break;
}
EDIT: добавлено немного больше кода для переменных. Извините за это.
Также без оператора switch и только с 1 RotationAngle + = и т. Д. Он работает и проходит полный круг. Однако я хочу, чтобы это происходило взад-вперед, а не вокруг.