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


Processing draw()用法及代碼示例


Processing, draw()用法介紹。

用法

  • draw()

返回

  • void

說明

setup() 之後直接調用,draw() 函數會連續執行其塊中包含的代碼行,直到程序停止或調用 noLoop()draw() 是自動調用的,不應顯式調用。所有處理程序都會在draw() 結束時更新屏幕,絕不會更早。



要停止 draw() 內部的代碼連續運行,請使用 noLoop()redraw()loop() 。如果noLoop()用於停止draw()中的代碼運行,那麽redraw()將導致draw()中的代碼運行一次,loop()將導致draw()中的代碼恢複運行不斷地。



draw()每秒執行的次數可以通過frameRate()函數來控製。



通常在draw() 循環開始附近調用background() 來清除窗口的內容,如上麵的第一個示例所示。由於繪製到窗口的像素是累積的,因此省略 background() 可能會導致意外結果。



每個草圖隻能有一個 draw() 函數,如果您希望代碼連續運行,或者處理 mousePressed() 等事件,則必須存在 draw() 。有時,您的程序中可能對draw() 有一個空調用,如上麵的第二個示例所示。

例子

float yPos = 0.0;

void setup() {  // setup() runs once
  size(200, 200);
  frameRate(30);
}
 
void draw() {  // draw() loops forever, until stopped
  background(204);
  yPos = yPos - 1.0;
  if (yPos < 0) {
    yPos = height;
  }
  line(0, yPos, width, yPos);
}
void setup() {
  size(200, 200);
}

// Although empty here, draw() is needed so
// the sketch can process user input events
// (mouse presses in this case).
void draw() { }

void mousePressed() {
  line(mouseX, 10, mouseX, 90);
}

相關用法


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