如何检测单击拉伸画布的位置?

时间:2016-10-17 20:16:54

标签: javascript canvas mouse sandbox

我有一个画布,因为我正在制作沙盒游戏。我无法使用常规方法检测页面上的像素,因为我需要知道单击了哪个拉伸像素。希望这有道理吗?

1 个答案:

答案 0 :(得分:0)

您所要做的就是根据当前画布大小和原始画布大小来缩放位置。

function scaleCursorPoint(int mouseX, int mouseY, ctx) {
    return {
        x: mouseX * (ctx.canvas.width / ctx.width), 
        y: mouseY * (ctx.canvas.height / ctx.height) 
   };
}

ctx(与canvas.getContext('2d')一起获得的原始广告的宽度为未展开。ctx.canvas获取原始的canvas DOM元素。ctx.canvas.width的大小DOM元素(拉伸大小)。

将两者分开,得到比例值。然后用你得到的分数多个那个比例值,你就是好的