J'essaie de faire une boule suivre la souris à l'intérieur d'une zone de toile. Mais la balle n'obtient la première position que lorsque la souris pénètre dans la zone de la toile (donc sur les bords).Faire "boule" suivre la souris sur la toile
Qu'est-ce qui ne va pas puisque la balle ne suit pas la souris lorsque vous vous déplacez à l'intérieur de la toile?
\t \t \t window.onload = startup;
\t \t \t var ballX = 400;
\t \t \t var ballY = 400;
\t \t \t var mouseX = 0;
\t \t \t var mouseY = 0;
\t \t \t
\t \t \t function startup() {
\t \t \t \t document.getElementById("drawingArea").onmouseover = mouseMove;
\t \t \t \t setInterval("moveBall()",100);
\t \t \t
\t \t \t }
\t \t \t
\t \t \t function mouseMove(evt) {
\t \t \t \t mouseX = evt.clientX;
\t \t \t \t mouseY = evt.clientY;
\t \t \t }
\t \t \t
\t \t \t function moveBall() {
\t \t \t \t if (ballX > mouseX) {
\t \t \t \t \t ballX -= 5;
\t \t \t \t } else {
\t \t \t \t \t ballX += 5;
\t \t \t \t }
\t \t \t \t if (ballY > mouseY) {
\t \t \t \t \t ballY -= 5;
\t \t \t \t } else {
\t \t \t \t \t ballY += 5;
\t \t \t \t }
\t \t \t \t
\t \t \t \t var canvas = document.getElementById("drawingArea");
\t \t \t \t var ctx = canvas.getContext("2d");
\t \t \t \t
\t \t \t \t ctx.clearRect(0, 0, canvas.width, canvas.height);
\t \t \t \t
\t \t \t \t ctx.beginPath();
\t \t \t \t ctx.arc(ballX, ballY, 40, 0, 2* Math.PI);
\t \t \t \t ctx.fillStyle = "green";
\t \t \t \t ctx.fill();
\t \t \t \t ctx.lineWidth = 5;
\t \t \t \t ctx.strokeStyle = "red";
\t \t \t \t ctx.stroke();
\t \t \t }
#drawingArea
{
\t \t \t \t border-style: solid;
\t \t \t \t position: absolute;
\t \t \t \t top: 0;
\t \t \t \t left: 0;
}
<!doctype html>
<html>
\t <head>
\t \t <meta charset="UTF-8">
\t \t <title>Move Ball</title>
\t </head>
\t <body>
\t \t <canvas id="drawingArea" width="800" height="800" />
\t </body>
</html>