Processing中background函數放在setup和draw的區別

Processing有強大的可視化編程的功能,幾行代碼量就能夠創造出很是有趣的交互效果。其中的backgroud()函數是用來控制畫布的背景顏色。編程

void setup(){
    size(300,300);
    background(200);
}

void draw(){
    if(mousePressed){
        fill(0);
    } else {
        fill(255);
    }
    ellipse(mouseX, mouseY, 50, 50);
}

第一篇-1.gif

setup裏面的代碼只運行一次,肯定了繪圖窗口的大小以及背景的顏色。函數

draw函數裏面的代碼一直都是重複運行,當鼠標按下的時候,填充黑色,若是沒有按下的時候,就填充白色,最後一行代碼是畫橢圓,橢圓有四個參數,第一和第二是橢圓的x和y座標,最後兩個值表明橢圓的寬度和長度。spa

若是把background(200)setup()函數中移到draw()函數中,狀況就很是不一樣,按下的時候雖然也是變成了黑色,可是移動鼠標的時候,不會有不少圓出現,這是由於draw()函數是一直重複運行的,因此background(200)也是一直運行,至關於一層一層地疊上去,把以前的圓都給蓋住了。code

void setup(){
    size(300,300);
    
}

void draw(){
    background(200);
    if(mousePressed){
        fill(0);
    } else {
        fill(255);
    }
    ellipse(mouseX, mouseY, 50, 50);
}

第一篇-2.gif

相關文章
相關標籤/搜索