【发布时间】:2015-05-16 09:51:11
【问题描述】:
我想在处理中用鼠标在屏幕上拖动一个对象。我将鼠标放在对象上时将acquired 设置为true,将鼠标放在对象上时设置为false,因此:
void mousePressed() {
if (overThing()) {
acquired = true;
}
}
void mouseReleased() {
acquired = false;
}
然后我在update()中查询acquired,如果是true,则拖动对象。
void update() {
\\ other stuff...
if (acquired) {
\\ drag thing code ...
}
}
这一切都在处理中正常工作。 mouseReleased() 无论我在活动窗口内部还是外部释放鼠标都会被调用。
但是,当我使用 processing.js (v1.4.8) 将代码移动到 Chrome 时,如果我在 外部 释放鼠标,mouseReleased() 将被调用不画布(无论鼠标是否仍在网页上,还是在浏览器窗口之外)。因此,当我将(现在未单击的)鼠标返回到画布时,对象仍然被拖动。
我尝试在update() 中包含mousePressed 的测试,但在这些情况下也会返回true。
对我需要做些什么以使鼠标状态更改在在 processing.js 中可见的画布上有什么帮助吗?
【问题讨论】:
标签: mouseevent processing processing.js