Wszystko byłoby pięknie, gdyby na przeglądarce Mozilla Firefox działał równie doskonale co na Google Chrome.
Na Google Chrome postać porusza się płynnie i nie zacina. W przypadku Mozilli Firefox postać na chwile przyspiesza, aby po kilku sekundach całkowicie zwolnić. Za każdym razem od tego momentu, gdy wciskam strzałkę, postać porusza się w bardzo zwolnionym tempie.
Czy moglibyście znaleźć rozwiązanie tego problemu?
Kod
var x1;
var cos2 = 0;
var walking = false;
function start_walking(event) {
var klawisz = event.keyCode ? event.keyCode :
event.which ? event.which : event.charCode;
if(walking == false) {
if(klawisz == 38) {
x1 = setInterval('tryt('+klawisz+');', 11);
}
if(klawisz == 40) {
x1 = setInterval('tryt('+klawisz+');', 11);
}
if(klawisz == 37) {
x1 = setInterval('tryt('+klawisz+');', 11);
}
if(klawisz == 39) {
x1 = setInterval('tryt('+klawisz+');', 11);
}
}
}
function tryt(klawisz) {
walking = true;
if(klawisz == 38) {
var a = document.getElementById('player')
var pol = a.offsetTop
a.style.top = pol-1+'px'
}
if(klawisz == 40) {
var a = document.getElementById('player')
var pol = a.offsetTop
a.style.top = pol+1+'px'
}
if(klawisz == 37) {
var a = document.getElementById('player')
var pol = a.offsetLeft
a.style.left = pol-1+'px'
}
if(klawisz == 39) {
var a = document.getElementById('player')
var pol = a.offsetLeft
a.style.left = pol+1+'px'
}
///////////////////////////////////////
if(klawisz >= 37 && klawisz <=40) {
cos2 = cos2 + 1;
if(cos2 > 24 && cos2 < 33) {
if(cos2 == 32 || cos2 == 32) {
clearInterval(x1);
cos2 = 0;
walking = false;
}
}
} else {
walking = false;
}
}
var cos2 = 0;
var walking = false;
function start_walking(event) {
var klawisz = event.keyCode ? event.keyCode :
event.which ? event.which : event.charCode;
if(walking == false) {
if(klawisz == 38) {
x1 = setInterval('tryt('+klawisz+');', 11);
}
if(klawisz == 40) {
x1 = setInterval('tryt('+klawisz+');', 11);
}
if(klawisz == 37) {
x1 = setInterval('tryt('+klawisz+');', 11);
}
if(klawisz == 39) {
x1 = setInterval('tryt('+klawisz+');', 11);
}
}
}
function tryt(klawisz) {
walking = true;
if(klawisz == 38) {
var a = document.getElementById('player')
var pol = a.offsetTop
a.style.top = pol-1+'px'
}
if(klawisz == 40) {
var a = document.getElementById('player')
var pol = a.offsetTop
a.style.top = pol+1+'px'
}
if(klawisz == 37) {
var a = document.getElementById('player')
var pol = a.offsetLeft
a.style.left = pol-1+'px'
}
if(klawisz == 39) {
var a = document.getElementById('player')
var pol = a.offsetLeft
a.style.left = pol+1+'px'
}
///////////////////////////////////////
if(klawisz >= 37 && klawisz <=40) {
cos2 = cos2 + 1;
if(cos2 > 24 && cos2 < 33) {
if(cos2 == 32 || cos2 == 32) {
clearInterval(x1);
cos2 = 0;
walking = false;
}
}
} else {
walking = false;
}
}