Witajcie,
Po kliknięciu klawisza do zmiennej dir jest wysyłana jakaś literka, setInterval co 260 ms sprawdza czy w zmiennej dir coś się pojawiło, jeśli tak to ma wykonać się jakaś tam akcja. Wszystko działa prawidłowo, ale bardzo często po kliknięciu klawisza nic się nie dzieje, bo setInterval jeszcze nie włączył funkcji która to sprawdza, jest to niby błahostka, ale jednak irytuje. Czy da się zrobić coś z tym setIntervalem, żeby wykonał się jak tylko coś kliknę, a nie po 260 ms?
Edit: wiem, że mogę zmniejszyć czas do np. 100 ms, ale rzecz w tym, że czas musi pozostać nie zmieniony.
var dir = 0;
window.addEventListener('keydown', function(event)
{
switch (event.keyCode)
{
//aswd
case 65 : dir='W'; break; //lewo
case 87 : dir='N'; break; //góra
case 68 : dir='E'; break; //prawo
case 83 : dir='S'; break; //dół
//up, down, right, left
case 37 : dir='W'; break; //lewo
case 38 : dir='N'; break; //góra
case 39 : dir='E'; break; //prawo
case 40 : dir='S'; break; //dół
}
}, false);
function game()
{
/////
}
setInterval(game, 260);