这个问题可能是因为没有正确计算鼠标在Canvas中的位置。在Canvas中,鼠标坐标是相对于Canvas左上角的位置。如果你的Canvas有任何偏移或缩放,那么你需要将鼠标坐标转换为Canvas坐标。以下是一些可能有用的代码片段:

// 获取Canvas元素和上下文
var canvas = document.getElementById('my-canvas');
var ctx = canvas.getContext('2d');

// 获取Canvas元素在页面上的位置
var canvasRect = canvas.getBoundingClientRect();

// 计算鼠标在Canvas中的位置
var mouseX = event.clientX - canvasRect.left;
var mouseY = event.clientY - canvasRect.top;

// 在Canvas上绘制刮刮乐
ctx.beginPath();
ctx.arc(mouseX, mouseY, 10, 0, 2 * Math.PI);
ctx.fillStyle = 'red';
ctx.fill();

这个代码片段假设你有一个id为“my-canvas”的Canvas元素,并且你正在绘制一个红色的圆形,半径为10,以鼠标位置为中心。如果你的Canvas有任何偏移或缩放,它将自动计算正确的鼠标位置。


原文地址: https://www.cveoy.top/t/topic/bwTe 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录