2014-02-27 61 views
1

我在Processing中進行編程,並試圖讓矩形出現在鼠標的位置,並在每次單擊鼠標時停留在那裏。但是,當我運行該程序並單擊鼠標時,該矩形只在第二個消失之前停留。是否有另一種方式來編寫它,使矩形不依賴於被點擊的鼠標存在?每次在某個區域點擊鼠標時,如何繪製一個矩形?

這裏是我的代碼:

void setup() 
{ 
    size(250, 350); 
} 

void draw() 
{ 
    background(255); 
    fill(255); 
    tileAp(); 
} 

void tileAp() 
{ 
    fill(0); 
    if(mousePressed && mouseX <= 250 && mouseX >= 0 && mouseY >= 0 && mouseY <= 250) 
    { 

     drawM(true); 
    } 
    else 
    { 

    } 
}  
void drawM(boolean b) 
{ 
    if(b == true) 
    { 
    rect(mouseX, mouseY, 25, 25); 
    } 
} 

回答

2

您可以停止在draw方法調用background(255) - 這應該讓矩形留下來。

或者,您可以將每個矩形添加到列表中,然後在每個框架中繪製所有矩形。

+0

如何在每一幀重新繪製特定的數組列表? –

+0

在您的'drawM'方法中將矩形的點添加到您的數組列表中(而不是調用'rect'),並將循環繪製矩形(即調用'rect')到'draw'方法的末尾。 –

+0

謝謝。問題結果與你在背景中說的相似;我每秒都在所有矩形的頂部產生一個網格。 –

相關問題