<script language="JavaScript">
var poz0=[10,10]
function document.onkeydown(){taster()}
function taster(e){
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
ctx.fillStyle = "white";
ctx.fillRect (poz0[0], poz0[1], 50, 50);
if(event.keyCode==37) poz0[0]--
if(event.keyCode==39) poz0[0]++
if(event.keyCode==38) poz0[1]--
if(event.keyCode==40) poz0[1]++
ctx.fillStyle = "rgb(200,0,0)";
ctx.fillRect (poz0[0], poz0[1], 50, 50);
}
window.onload=document.onkeydown
</script>
<body>
<canvas id="canvas" width="300" height="300"></canvas>
</body>
Ovaj kod radi ali ne onako kako zelim. Naime kao sto vidite u pitanju je kvadratic koji se pomera ulevo i udesno u zavisnosti koju strelicu na tastaturi pritisnete, gore, dole, levo, desno. Znaci kvadratic se pomera samo kad se naizmenicno pritiskaju tasteri ("drukanjem") a ja bih hteo da se kvadratic stalno pomera dokle god se drzi taster. Kako to da napravim? Naime da bih taj efekat postigao ja sam pokusao ubacivanjem window.onload=document.onkeydown medjutim ne funkcionise. A isto radi i bez toga na primer (samo sto se odma ne vidi kvadratic vec treba prvo pritisnuti neku strelicu):
<script language="JavaScript">
var poz0=[10,10]
document.onkeydown=taster
function taster(e){
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
ctx.fillStyle = "white";
ctx.fillRect (poz0[0], poz0[1], 50, 50);
if(event.keyCode==37) poz0[0]--
if(event.keyCode==39) poz0[0]++
if(event.keyCode==38) poz0[1]--
if(event.keyCode==40) poz0[1]++
ctx.fillStyle = "rgb(200,0,0)";
ctx.fillRect (poz0[0], poz0[1], 50, 50);
}
</script>
<body>
<canvas id="canvas" width="300" height="300"></canvas>
</body>
Znaci da rezimiram pitanje, kako da postignem da dokle god se drzi neka stralica da se stalno u tom pravcu pomera kvadratic?