mouseIsPressed 组合 mouseMoved() 不起作用

mouseIsPressed combined mouseMoved() not work

我想做一个涂鸦应用程序,当鼠标移动时绘制笔画,在 mousemove 事件处理程序中,下面的代码有效:

line(lastX, lastY, mouseX, mouseY);
lastX = mouseX;
lastY = mouseY;

但是,当我将代码包装到 if 语句中时:

if (mouseIsPressed) {
...
}

没什么,如果我将代码移到绘制函数中并设置该条件,它就会起作用。为什么?

提前致谢。

来自 mouseMoved() 参考:

The mouseMoved() function is called every time the mouse moves and a mouse button is not pressed.

因此,如果您按下鼠标按钮,将不会调用 mouseMoved() 函数。如果您将一些代码放入 if 块中,例如:

if (mouseIsPressed) {
...
}

并将该块放入mouseMoved(),那么该代码将永远不会被执行。

完全可以将 if 块直接放在 draw() 函数中。在这种情况下,您不必使用 mouseMoved() :)