我是新来的编码。而我是堆栈溢出的新手。如果我没有遵循用户在此处遵循的无数规则,请请粉饰我。为什么我的物体拉长而不是移动?
我正在尝试使用javasript代码在HTML5画布上移动对象。相反,它似乎在延长。我必须使用某种清晰的功能吗?当我这样做时,它似乎会让黑色方块(玩家)消失。
这是我的代码。任何建议/建议都会有帮助。
var c;
var ctx;
var playerPosX = 90;
var playerPosY = 90;
function init(){
c = document.getElementById("c");
ctx = c.getContext('2d');
ctx.fillStyle = 'red';
ctx.fillRect(0,0,200,200);
setInterval (player, 10);
}
function player(){
c=document.getElementById("c");
ctx= c.getContext('2d');
ctx.fillStyle='black';
ctx.fillRect(playerPosX,playerPosY,20,20);
}
init();
function doKeyDown (evt){
switch (evt.keyCode) {
case 40:
playerPosY=playerPosY+1;
break;
}
}
document.addEventListener('keydown', doKeyDown, true);
<canvas id="c" width="300" height="300"></canvas>
规则很简单:https://stackoverflow.com/help/mcve – AGE
复制https://stackoverflow.com/questions/2142535/how-to-clear-the-canvas-for-redrawing – Jerinaw