我建立一個虛擬搖桿,這是我做,這樣,當操縱桿處於某個值之間的x和y的值將保持在一定值,例如遞增當操縱桿之間1部分的代碼而對於deltaX,它會每秒增加一次,或者如果它在21到40之間,它會每秒增加兩次,我希望它保持遞增,而不是保持相同的值。當我嘗試這個代碼時,y值只是堅持1,2或3,並且不增加,有誰能提出爲什麼會發生這種情況?爲什麼x&y值不會增加?
編輯: 通過if語句需要是功能操縱桿斷裂外,如果其內部不運行。
if (joystick.deltaX() >= 1 && joystick.deltaX() <= 20) {
(function movex1() {
x = x + 1;
setTimeout(movex1, 1000);
})();
}
if (joystick.deltaX() >= 21 && joystick.deltaX() <= 40) {
(function movex2() {
x = x + 2;
setTimeout(movex2, 1000);
})();
}
if (joystick.deltaX() >= 41 && joystick.deltaX() <= 60) {
(function movex3() {
x = x + 3;
setTimeout(movex3, 1000);
})();
}
if (joystick.deltaY() >= 1 && joystick.deltaY() <= 20) {
(function movey1() {
y = y + 1;
setTimeout(movey1, 1000);
})();
}
if (joystick.deltaY() >= 21 && joystick.deltaY() <= 40) {
(function movey2() {
y = y + 2;
setTimeout(movey2, 1000);
})();
}
if (joystick.deltaY() >= 41 && joystick.deltaY() <= 60) {
(function movey3() {
y = y + 3;
setTimeout(movey3, 1000);
})();
}
[不要重複自己!(https://en.wikipedia.org/wiki/Don%27t_repeat_yourself) – undefined
當所有這些if語句觸發/執行? – moffeltje
警告:一旦觸發,它們將永不停止 –