Я использую XNA для поворота изображения. Я хочу, чтобы он вращался в одном направлении, а затем назад, так что он делает движение вперед и назад - PullRequest
1 голос
/ 31 августа 2011

Я использую 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 + = и т. Д. Он работает и проходит полный круг. Однако я хочу, чтобы это происходило взад-вперед, а не вокруг.

1 Ответ

0 голосов
/ 31 августа 2011

Ваш bool goleft = true; добавлен в Обновление? Потому что это будет сбрасываться до истины каждый раз, тогда я верю. Прошло много времени с тех пор, как я использовал XNA!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...