【发布时间】:2015-03-27 16:30:15
【问题描述】:
我正在尝试使用 WASD 键进行已经绘制的方形移动。
我不知道该怎么做,所以我查找了一些代码,大约 2 小时后,我想出了我自己的非工作代码。它不起作用,但至少它正在绘制我的正方形......或者是。
现在不是,我也不知道为什么,这是我的 JavaScript:
function initCanvas(){
var ctx = document.getElementById('my_canvas').getContext('2d');
ctx.addEventListener("keydown", move, true);
function move(event){
//W
if(event.keyCode == 87){
y = y + 20;
}
//A
else if(event.keyCode == 65){
x = x - 20;
}
//S
else if(event.keyCode == 83){
y = y + 20;
}
//D
else if(event.keyCode == 68){
x = x + 20;
}
}
var x = 0;
var y = 0;
ctx.fillStyle = "green";
ctx.fillRect(x + 20, y + 20, 20, 20);
}
window.addEventListener('load', function(event){
initCanvas();
});
和 HTML/CSS(整个页面):http://pastebin.com/wjXv5tdK 它可能与事件监听器有关,因为没有它似乎也能工作。
TL;DR
所以我基本上想要在画布上绘制一个正方形,并让用户使用 WASD 键控制它。
【问题讨论】:
-
谁投了反对票,为什么?
-
他们可能投了反对票,因为你没有把你的代码放在这里看..这个网站不会弄乱你的代码,其他人都在管理
-
也许它被否决了,因为你不是很清楚 - “我正在尝试让某些东西移动”什么东西? “画我的正方形” - 所以你想画一个正方形?老实说,它可能会更清楚一点。不过,我认为不值得反对,反对者应该发表评论并提出改进建议。
-
当我在此处输入我的代码时,它并没有像应有的那样显示在一个框中。相反,它只是将其组合成 6-8 行。我最终弄乱了它的工作原理,只得到了一半的工作,而另一半根本不会出现。
-
感谢您的建议。我对其进行了修改,并采纳了一些提交到问题中的建议。
标签: javascript html animation canvas