Processing中mousePressed()和mousePressed的区别以及几种鼠标事件的概括。

Processing提供了一个叫mousePressed()的函数和一个叫mousePressed的变量,用于监听鼠标按钮是否被按下,但两者的工作机制是不同的。
 
1. mousePressed变量:
当任何鼠标按钮被按下时,该值为true,如果没有按钮被按下(或被释放后),则为false。它存储并利用了鼠标的状态。

2. mousePressed()函数:

此函数在每次鼠标按钮被按下后被调用。当一个按钮被按下时,函数中的代码只运行一次。“鼠标按钮被按下”这个状态是用来触发一个动作的。

3. mouseClicked()函数:

在鼠标按钮被按下并释放后被调用。
 
4. mouseMoved():
函数在每次鼠标移动而鼠标按钮未被按下时被调用。
 
5. mouseDragged()函数
鼠标拖动()函数在鼠标按钮被按下时,每次鼠标移动时都会被调用一次。
 
6. mouseWheel()函数:
函数内的代码是在鼠标轮移动时运行的(有些鼠标没有滚轮,这个函数只适用于有滚轮的鼠标)。mouseWheel()中使用的getCount()函数在鼠标滚轮向下(朝向用户)旋转时返回正值,而另一个方向(向上或远离用户)则返回负值。在OS X上,如果启用了“natural”滚动模式,则返回的值是相反的。
 
7. mouseReleased()函数:
与mousePressed()相反。
 
补充:
1. mouseButton变量可以用来确定哪个按钮被按下。它的值包含 LEFT, CENTER, or RIGHT, 取决于最近一次按下的鼠标按钮(mouseButton变量保留其值直到按下另一个按钮)
2. keyPressed、keyPressed()和keyReleased()与mousePressed、mousePressed()和mouseReleased()的工作机制和关系基本相同。
3. 鼠标和键盘事件只有在程序有draw()时才会工作。如果没有draw(),代码只运行一次,然后停止监听事件。

-----------------------------------------------------------------------

Reference:

1. https://processing.org/reference/libraries/

2. 一个很好的鼠标动画示例:https://processing.org/examples/mousefunctions.html

 
原文地址:https://www.cnblogs.com/binaryguy/p/13947858.html