Итак, я создаю игру, в которой, если кто-то щелкает значок параметра, открывается панель со слайдом рейнджера (значения: 1 = низкая чувствительность, 2 = средняя чувствительность, 3 = высокая чувствительность). Этот слайд рейнджера определяет скорость, с которой движется мой космический корабль (чувствительность). Однако я столкнулся с проблемой при изменении чувствительности. У моего кода странное поведение (иногда он работает, иногда нет). Есть идеи, почему? Вот код:
Рейнджер слайд:
<input type="range" id="sensibilty" min="1" max="3" value="2">
Js код
const loop = function() {
if (keys[37] || keys[65]) {pos.left -= 10} //THIS IS HOW SPACESHIP MOVES WITH KEYBOARD KEYS
if (keys[39] || keys[68]) {pos.left += 10}
if (keys[38] || keys[80]) {pos.top -= 1}
if (keys[40] || keys[75]) {pos.top += 1}}
let sens = setInterval(loop, 1000 / 40) //INITIAL SENSIBILITY
function validateSens() {
let sensibilty = document.getElementById("sensibilty").value
if (sensibilty == 1 || sensibilty == "1") {clearInterval(sens); setInterval(loop, 1000 / 30)}
//DIFFERENT SENSIBILITY BASED ON RANGER SLIDE VALUE
if (sensibilty == 2 || sensibilty == "2") {clearInterval(sens); setInterval(loop, 1000 / 40)}
//DIFFERENT SENSIBILITY BASED ON RANGER SLIDE VALUE
if (sensibilty == 3 || sensibilty == "3") {clearInterval(sens); setInterval(loop, 1000 / 60)}
//DIFFERENT SENSIBILITY BASED ON RANGER SLIDE VALUE
else {alert("Sorry, a bug occured")}} //That gives me an alert if bug occurres
Кроме того, это предупреждение иногда открывается, иногда нет ... очень странно