
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
html, body {
margin: 0;
height: 100%;
}
</style>
</head>
<body>
<canvas id="canvas"></canvas>
<script>
let doc = document
let cnv = doc.getElementById('canvas')
let ctx = cnv.getContext('2d')
cnv.height = doc.querySelector('body').offsetHeight
cnv.width = doc.querySelector('body').offsetWidth
function drawing(x, y) {
ctx.beginPath()
ctx.arc(x, y, 50, 0, 2 * Math.PI);
ctx.stroke();
}
let movingSpeed = 5
let moveX = 52
let moveY = 52
drawing(moveX, moveY)
let obj = {}
document.onkeyup = function (e) {
if (obj[e.keyCode]) {
obj[e.keyCode] = false
}
}
document.onkeydown = function (e) {
obj[e.keyCode] = true
if (obj[39] && obj[40]) {
moveX += movingSpeed
moveY += movingSpeed
repaint(moveX, moveY)
}
else if (obj[39] && obj[38]) {
moveX += movingSpeed
moveY -= movingSpeed
repaint(moveX, moveY)
}
else if (obj[37] && obj[38]) {
moveX -= movingSpeed
moveY -= movingSpeed
repaint(moveX, moveY)
}
else if (obj[37] && obj[40]) {
moveX -= movingSpeed
moveY += movingSpeed
repaint(moveX, moveY)
} else {
if (e.keyCode === 38) {
moveY -= movingSpeed
repaint(moveX, moveY)
}
else if (e.keyCode === 40) {
moveY += movingSpeed
repaint(moveX, moveY)
}
if (e.keyCode === 37) {
moveX -= movingSpeed
repaint(moveX, moveY)
}
else if (e.keyCode === 39) {
moveX += movingSpeed
repaint(moveX, moveY)
}
}
}
function repaint(x, y) {
ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);
drawing(x, y)
}
</script>
</body>
</html>