Я пытаюсь создать движущийся символ, и мой код не работает?
В Html и Javascript я пытаюсь заставить символ двигаться с помощью клавиш wasd. Я перепробовал все, что мог, и не могу заставить это работать. Можете ли вы сказать мне, как это сделать? Кроме того, вы можете быть довольно конкретны... Я вроде как Новичок. Вот код.
<!DOCTYPE html> <canvas id="ctx" height="800" width="1500" style="border:1px solid #000000;"></canvas> <script> var ctx = document.getElementById("ctx").getContext("2d"); var player = { x: 750, y: 400, pressW: false, pressS: false, pressA: false, pressD: false, }; ctx.fillStyle = "blue"; ctx.rect(player.x, player.y, 50,50); document.onkeydown = function(event){ if (event.keyCode == 87) //w player.pressW = true; else if (event.keycode == 83) //s player.pressS = true; else if (event.keyCode == 65) //a player.pressA = true; else if (event.keycode == 68) //d player.pressD = true; } document.onkeyup = function(event){ if (event.keyCode == 87) //w player.pressW = false; else if (event.keycode == 83) //s player.pressS = false; else if (event.keyCode == 65) //a player.pressA = false; else if (event.keycode == 68) //d player.pressD = false; } function updatePlayerPosition(){ if (player.pressW == true) player.y -= 10; if (player.pressS == true) player.y += 10; if (player.pressA == true) player.x -= 10; if (player.pressD == true) player.x += 10; } function drawPlayer(){ ctx.fillStyle = "blue"; ctx.fillRect(player.x, player.y, 50,50); } function Update(){ ctx.clearRect(0,0,1500,800) updatePlayerPosition(); drawPlayer(); } setInterval(Update, 100); </script> <style> canvas { padding-left: 0; padding-right: 0; margin-left: auto; margin-right: auto; display: block; } </style>
Что я уже пробовал:
Я перепробовал все, что мог, и не могу заставить это работать
Patrice T
Никаких репостов, пожалуйста.