У меня эта проблема сейчас более 2 дней. Постоянная настройка. Я просто не могу это сделать.Поверните плеер с помощью сенсорной панели libgdx в направлении движения
У меня есть текстура игрока (игрок смотрит на нее слева), которую я хочу повернуть с помощью сенсорной панели. Таким образом, игрок столкнется с его бегущим направлением.
До сих пор у меня есть это:
double facerotation = Math.atan2(touchpad.getKnobPercentY(), touchpad.getKnobPercentX());
spriteBatch.draw(runningFrame, player.getPosition().x, player.getPosition().y, Player.getSize()/2, Player.getSize()/2, Player.getSize(), Player.getSize(), 1, 1, facerotation * 100, false);
Но с «roation * 100» он вращается, как 2 раза вокруг и без него едва поворачивается. Я даже попытался переключить значения X и Y для функции atan2 выше. Но я никогда не заставлял его вращаться только в направлении движения. Я также попробовал функцию atan, также с заменой значений X и Y.
Пожалуйста, помогите мне. Я пробовал тысячи способов, разные расчеты и все, что я видел в google. Ничто не принесло мне желаемого эффекта.
Спасибо, что так так! В заключение. Такая простая вещь. ! – MarvinJ
Отлично работает, за исключением того, что в моем случае спрайт возвращается в исходный угол при отпускании сенсорной панели. Есть ли способ сохранить свой угол после этого? – mikebrsv
Решенный! Обернуто 'runningFrame.setRotation (angle);' в '' if (touchpad.isTouched()) 'statement. – mikebrsv