-4 голоса
 
477 просмотров
2.02.2019 / 15:30  Death

Плавное смещение

Есть начальный угол в 0 градусов. Есть конечный угол в 67 градусов. Есть скорость поворота - 5 градусов. Нужно сделать так, чтобы плавно с 0 до 67 повернулось, при том что конечный угол может меняться динамически.
Не всё так просто
Ответы
 
4 голоса
 
# 2.02.2019 / 18:52  RblSb
Что значит плавно в твоем понимании? Что значит "будет дергаться" и почему? Как ты представляешь поведение при изменении конечного угла, с изменением скорости или без? Научись задавать конкретные вопросы.

Открою секрет: плавный поворот подразумевает изменение его скорости на определенных этапах.

  1. if (angle == newAngle) return;
  2. // можно расчитывать скорость на основе разницы в градусах
  3. var speed = (newAngle - angle) / 10;
  4. // можно ограничить максимальную скорость
  5. if (speed > 5) speed = 5;
  6. angle += speed;
  7. // минимальная разница, при которой углы станут равны
  8. if (Math.abs(angle - newAngle) < 1) angle = newAngle
Изм. aNNiMON от 4.02.2019 / 00:40
2.02.2019 / 19:10  Death
Спасибо! Примерно то, что я хотел)
Буду пробывать
Всего: 1

Реклама

Мы в соцсетях

tw tg yt gt