我是新來的JavaScript,並試圖學習它非常快。我需要鍵盤事件鍵的幫助。我正在嘗試使用WASD在JavaScript中移動圖像。我可以讓它向上,向下,向左和向右移動,但我無法弄清楚如何讓它沿對角線移動。非常感謝幫助。初學JavaScript嘗試使用事件鍵
"use strict";
var cvs;
var ctx;
var imagex=100;
var imagey=100;
function keydown_callback(ev){
if(ev.keyCode === 68)
imagex += 5;
if(ev.keyCode === 65)
imagex -= 5;
if(ev.keyCode === 87)
imagey -= 5;
if(ev.keyCode === 83)
imagey += 5;
draw();
}
function draw(){
ctx.clearRect(0,0,600,600);
var background = new Image();
background.src="wallpaper.jpg";
ctx.drawImage(background, 0, 0, 600, 600);
var img = new Image();
img.src="ninja.png";
ctx.drawImage(img,imagex,imagey,128,256);
}
function main(){
var tmp = document.getElementsByTagName("body");
var body = tmp[0];
body.addEventListener("keydown",keydown_callback);
cvs = document.getElementById("foo");
ctx = cvs.getContext("2d");
draw();
}
旁註:您不應該每次都重新創建該圖像,只需使用全局變量即可。 – 11684
@ 11684,明白了,並建議看看http://stackoverflow.com/questions/5203407/javascript-multiple-keys-pressed-at-once – Vikdor
的答案,而不是'var tmp = document.getElementsByTagName (「body」); var body = tmp [0];''可以使用'var body = document.getElementsByTagName(「body」)[0];',但最好的是'document.body' – Oriol