Kod
var x=4;
var y=1;
var kierunek=39;
document.onkeydown = checkKeycode;
function checkKeycode(e){
var d = new Date();
var sec=d.getSeconds();
var msec=d.getMilliseconds();
if(sec%2==0 && ((msec > 0 && msec < 200) || (msec > 500 && msec < 600))|| (msec > 800 && msec < 999))
{
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
var x_pom=x;
var y_pom=y;
switch(keycode)
{
case 37:
var x1=x-1;
var y1=y;
break;
case 38:
var y1=y-1;
var x1=x;
break;
case 39:
var x1=x+1;
var y1=y;
break;
case 40:
var y1=y+1;
var x1=x;
break;
}
if(x1==0)
{
x1=1;
}
if(x1==11)
{
x1=10;
}
if(y1==0)
{
y1=1;
}
if(y1==11)
{
y1=10;
}
ye=y1-1;
var id=ye*10+x1;
var id1=(y_pom-1)*10+x_pom;
advAJAX.post({
url:\"xxx/projekt_edytor_map/idz.php\",
parameters : {
'id' : id
},
onSuccess : function(obj) {
var krok=obj.responseText;
if(krok == 0)
{
x=x_pom;
y=y_pom;
}else{
document.getElementById(id1).innerHTML='';
if(keycode == 37)
{
document.getElementById(id).innerHTML='<font color=\"white\"><</font>';
kierunek=37;
x=x1;
y=y1;
}
if(keycode == 38)
{
document.getElementById(id).innerHTML='<font color=\"white\">/\\\</font>';
kierunek=38;
x=x1;
y=y1;
}
if(keycode == 39)
{
document.getElementById(id).innerHTML='<font color=\"white\">></font>';
kierunek=39;
x=x1;
y=y1;
}
if(keycode == 40)
{
document.getElementById(id).innerHTML='<font color=\"white\">V</font>';
kierunek=40;
x=x1;
y=y1;
}
if(keycode == 32)
{
shoot(x,y,kierunek);
document.getElementById(id).innerHTML='O';
}
document.getElementById(id).style.border='none';
}
},
onError : function(obj) {;}
});
}
}
Obecny skrypt.
a nizej to z interwałem
Kod
var x=4;
var y=1;
var kierunek=39;
document.onkeydown = checkKeycode;
function checkKeycode(e){
var d = new Date();
var sec=d.getSeconds();
var msec=d.getMilliseconds();
var idInterval = setInterval(
function{
{
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
var x_pom=x;
var y_pom=y;
switch(keycode)
{
case 37:
var x1=x-1;
var y1=y;
break;
case 38:
var y1=y-1;
var x1=x;
break;
case 39:
var x1=x+1;
var y1=y;
break;
case 40:
var y1=y+1;
var x1=x;
break;
}
if(x1==0)
{
x1=1;
}
if(x1==11)
{
x1=10;
}
if(y1==0)
{
y1=1;
}
if(y1==11)
{
y1=10;
}
ye=y1-1;
var id=ye*10+x1;
var id1=(y_pom-1)*10+x_pom;
advAJAX.post({
url:\"xxx/projekt_edytor_map/idz.php\",
parameters : {
'id' : id
},
onSuccess : function(obj) {
var krok=obj.responseText;
if(krok == 0)
{
x=x_pom;
y=y_pom;
}else{
document.getElementById(id1).innerHTML='';
if(keycode == 37)
{
document.getElementById(id).innerHTML='<font color=\"white\"><</font>';
kierunek=37;
x=x1;
y=y1;
}
if(keycode == 38)
{
document.getElementById(id).innerHTML='<font color=\"white\">/\\\</font>';
kierunek=38;
x=x1;
y=y1;
}
if(keycode == 39)
{
document.getElementById(id).innerHTML='<font color=\"white\">></font>';
kierunek=39;
x=x1;
y=y1;
}
if(keycode == 40)
{
document.getElementById(id).innerHTML='<font color=\"white\">V</font>';
kierunek=40;
x=x1;
y=y1;
}
if(keycode == 32)
{
shoot(x,y,kierunek);
document.getElementById(id).innerHTML='O';
}
document.getElementById(id).style.border='none';
}
},
onError : function(obj) {;}
});
}, 1000);
}
}
No i do tego jeszcze musze onKeyUp zrobic ale tez nie mam jakos pojecia jak.
EDIT:
Mam jeszcze pomysl, fakt ze mniej funkcjonalny, ale poki co powinien poradzic. Zrobic to za pomoca onKeypress. Czytalem ze to dziala przy krotkotrwalym wcisnieciu jakiegos klawisza. Niestety nie mogę odczytać kodu klawisza na onkeypress :| nie umiem chyba cos zle robie O.o
EDIT 2:
Ajax rządzi, do zamknięcia =]