В настоящее время я использую оператор switch, чтобы проверить, нажаты ли клавиши со стрелками, установите для логического параметра, заданного для кнопки, значение true, а затем я рассчитываю, как двигаться (правая и левая клавиши изменяют вращение, вверх / вниз для движения - вычисляются с помощью тригонометрии).функции).Я использую выражение вроде этого:
if(upButtonPressed)
this->setPosition(Vector2f(calculate x,calculate y));
//same for down button
if(leftButtonPressed)
this->setRotation(deg -= 4.0f);
Затем он проверяет, отпущена ли кнопка, и если да, устанавливает их логическое значение в false.Это работает просто отлично, но когда я поворачиваюсь и пытаюсь двигаться вперед / назад, это просто останавливается, и я не знаю почему.Как я могу сделать это гладко?