當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Processing keyPressed()用法及代碼示例

Processing, keyPressed()用法介紹。

用法

  • keyPressed()
  • keyPressed(event)

返回

  • void

說明

每次按下一個鍵時都會調用一次keyPressed() 函數。按下的鍵存儲在key 變量中。



對於非 ASCII 鍵,使用 keyCode 變量。 ASCII 規範中包含的鍵(BACKSPACE、TAB、ENTER、RETURN、ESC 和 DELETE)不需要檢查鍵是否已編碼;對於這些鍵,您應該直接使用 key 變量(而不是 keyCode )。如果您正在製作cross-platform 項目,請注意 ENTER 鍵通常用於 PC 和 Unix,而 RETURN 鍵用於 Mac。通過檢查 ENTER 和 RETURN 確保您的程序可以在所有平台上運行。



由於操作係統如何處理鍵重複,按住一個鍵可能會導致多次調用 keyPressed() 。重複率由操作係統設置,並且可以在每台計算機上進行不同的配置。



請注意,有一個名為 keyPressed 的類似名稱的布爾變量。有關更多信息,請參見其參考頁。



鼠標和鍵盤事件僅在程序具有 draw() 時起作用。如果沒有 draw() ,代碼隻運行一次,然後停止監聽事件。



隨著 macOS Sierra 的發布,Apple 改變了按鍵重複的工作方式,因此 keyPressed 可能無法按預期運行。請參閱這裏 了解問題的詳細信息以及如何解決它。

例子

// Click on the image to give it focus,
// and then press any key.

int value = 0;

void draw() {
  fill(value);
  rect(25, 25, 50, 50);
}

void keyPressed() {
  if (value == 0) {
    value = 255;
  } else {
    value = 0;
  }
}

相關用法


注:本文由純淨天空篩選整理自processing.org大神的英文原創作品 keyPressed()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。