Как остановить вращение в нужном месте?

74
24 сентября 2021, 10:30

Всем привет, делаю колесо фортуны, вращение примитивно:

angle += 10 * speed;

Замедление или ускорение тоже обычное:

if(play){
  speed += 0.1;
}
if(stop) speed -= 0.1;

speed = Math.min(1,Math.max(0, speed)); Но появилась делема, нужно либо плавно остановить в нужном сегменте, либо наоборот, не останавливать на нежелательных сегментах. Уже весь рунет обшарил, пытался сам чет нахимичить, но не чего не выходит.

Нашел типа такого примера:

var speed= 1 - ( (angle-EndAngle) % 6.28318531 ) / 6.28318531 ;

Вроде как останавливает на нужной секции, но делает это быстро и с рывком(

READ ALSO