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

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM