如何在特定位置更改光标?

时间:2017-05-11 04:07:56

标签: javascript html5 canvas

有两张图片。一张照片是表面遮罩。两张图片是背景水平。如何更改光标并使用表面蒙版?

platform mask

黑色方块是全动的地方。它有自己的光标。 灰色方块是局部运动的地方。所以它也有自己的光标。

我有一个想法。为画布创建缓冲区并覆盖蒙版。但是我们每次都要为mousemove调用GetPixelsColor。这个决定是不合理的。

谁遇到过类似的?感谢。

1 个答案:

答案 0 :(得分:2)

尝试以下方法:

window.addEventListener('mousemove', draw, false);
function draw(e) {
    changeCursor(canvas, e);
}

function changeCursor(canvas, evt) {
    var rect = canvas.getBoundingClientRect();
    coords = {
      x: evt.clientX - rect.left,
      y: evt.clientY - rect.top
    };
    if(coords.x >= box.x && coords.x <= box.x+box.width && coords.y >= box.y && coords.y <= box.y+box.width){
        canvas.style.cursor = "crosshair";
    }
}