Processing 处理时鼠标的绝对位置

Processing 处理时鼠标的绝对位置,processing,mouse-coordinates,Processing,Mouse Coordinates,这是我在处理论坛上发表的一篇文章的复制粘贴(我到目前为止还没有得到答案),我想我不妨在这里试试 处理是一种非常酷的方式来画东西,特别是对于网页。仅供参考 嘿,我是处理新手,我用它来制作一个没有闪光灯的网站,所以我几乎是在画布上画画 我的鼠标位置有问题,虽然坐标,当绘图时,考虑左上角是位置0,0;实际鼠标坐标考虑到0、0是浏览器窗口的左上角。 所以我的问题是,画布在一个居中的网页上运行,每当浏览器改变大小时,画布中鼠标的坐标也会改变 有没有办法使鼠标的坐标相对于画布?这样我就可以更改浏览器窗口的大

这是我在处理论坛上发表的一篇文章的复制粘贴(我到目前为止还没有得到答案),我想我不妨在这里试试

处理是一种非常酷的方式来画东西,特别是对于网页。仅供参考

嘿,我是处理新手,我用它来制作一个没有闪光灯的网站,所以我几乎是在画布上画画

我的鼠标位置有问题,虽然坐标,当绘图时,考虑左上角是位置0,0;实际鼠标坐标考虑到0、0是浏览器窗口的左上角。

所以我的问题是,画布在一个居中的网页上运行,每当浏览器改变大小时,画布中鼠标的坐标也会改变

有没有办法使鼠标的坐标相对于画布?这样我就可以更改浏览器窗口的大小,鼠标坐标的左上角将始终为0,0

这就是问题所在,我不知道stackoverflow中有多少人有过这样的经历,但我希望有人能帮助我:)


感谢stack overflow社区的帮助。

您可以要求用户在使用前校准系统。这不是对问题的完全回答,而是对问题的解决


只需在屏幕的中心,左上角和右下角画一个红点。要求用户单击它们,并检索坐标。然后,您就知道屏幕的各个角在哪里了。

我不熟悉处理,但您不能只计算浏览器窗口左上角和画布左上角之间的差值吗?
i、 e.(使用jquery)

然后,您可以执行以下操作:

 relativeMouseLeftPosition = mouseLeftPosition() - window.canvasLeft;
您应该为画布区域使用css选择器替换#canvas


还请注意,窗口是全局对象,我在这里使用它来处理可能的范围问题。

处理实际上并不用于创建网页。。对于站点来说,它比Flash更糟糕(处理草图是Java小程序——Java不太常见,资源更密集,加载速度也慢……)

也就是说,有一个Javascript处理端口

鼠标可以访问鼠标。因为它是Javascript,画布是一个
div
,坐标应该比Java(它生活在自己的虚拟机世界中)更合理,但我可能错了

 relativeMouseLeftPosition = mouseLeftPosition() - window.canvasLeft;