Я хочу разработать своего рода колесо фортуны с помощью JavaScript.Я хочу определить как выход, так и начало.Если пользователь поворачивает колесо с минимальной скоростью, колесо должно вращаться несколько раз в зависимости от скорости вращения, прежде чем оно остановится на нужном поле.
До сих пор я мог только реализовать основы, но я надеюсь, что кто-то может помочь мне реализовать весь процесс, так как я не могу сейчас идти дальше.
КАК СДЕЛАТЬ КОЛЕСО, ВРАЩАЮЩЕЕСЯ В СЕРВЕРНЫЕ ВРЕМЕНИ, ЗАКОНЧИВШИЕСЯ С НАЗНАЧЕНИЕМ?
let element = document.getElementById("wheel");
let region = new ZingTouch.Region(element);
let currentAngle = 0, // this is the current angle of the wheel by the rotate gesture
targetAngle = 0; // blue field is the target where the wheel should stop
let minimumAngle = 30, // minimumAngle to make the wheel spinning
rotatedAngle = 0, // total spinned angle of the wheel by the rotate gesture
spinning = false
setInterval(() => {
rotatedAngle = 0;
}, 200)
region.bind(element, 'rotate', function(e) {
if (rotatedAngle > minimumAngle && rotatedAngle > 180) {
spinning = true;
document.getElementById("spinning").innerHTML = "spinning = true"
// HOW TO MAKE WHEEL ROTATING A SERVERAL TIMES ENDING WITH THE targetAngle ?
} else if (!spinning) {
currentAngle += e.detail.distanceFromLast;
rotatedAngle += e.detail.distanceFromLast;
element.style.transform = 'rotate(' + currentAngle + 'deg)';
}
})
#wheel {
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
margin: auto;
width: 20%;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/zingtouch/1.0.6/zingtouch.min.js"></script>
<img id="wheel" src="https://reel-mkt.com/templates/fortune_reel_lp/img/wheel.png">
<p id="spinning">spinning = false</p>