什麼是最容易和最簡單的方法來保持fill()
相同點擊後(那是當它改變),然後unclicking,並離開懸停?如何在mousePressed後填充()中的顏色相同?
在這個項目中,我只是做了一個網格。當鼠標懸停在特定矩形(在x
,y
上)時,它會根據所處狀態改變顏色。fill(50)
是默認設置,fill(75)
是鼠標懸停的時候,fill(100)
是鼠標單擊的時候。但是,當鼠標點擊時,它會返回到懸停填充狀態,直到鼠標離開矩形。謝謝。
int cols, rows;
int scl = 20;
void setup() {
size(400, 400);
int w = 400;
int h = 400;
cols = w/scl;
rows = h/scl;
}
void draw() {
background(255);
for (int x = 0; x < cols; x++) {
for (int y = 0; y < rows; y++) {
int xpos = x*scl;
int ypos = y*scl;
stroke(55);
if((mouseX >= xpos && mouseX <= xpos+scl) &&
(mouseY >= ypos && mouseY <= ypos+scl)){
fill(75);
if (mousePressed == true){
println("Clicked at: " + xpos + " and " + ypos);
fill(100);
//here is the desired location for the fill to remain constant even
//after unclicking and leaving hover
}
println("Mouse at: " + xpos + " and " + ypos);
}else{
fill(50);
}
rect(xpos, ypos, scl, scl);
}
}
}
你能否修改你的代碼的格式?你有兩個'setup()'函數。你也可以更具體地說明你想要做什麼,哪一行代碼的行爲與你期望的不同? –
對不起,我沒有看到!如果現在運行代碼,您會注意到當您將鼠標懸停在矩形上時,它會更改顏色,並且當您單擊它時會再次更改顏色。 「mousePressed」後面使用的填充顏色是我想用來保持單擊的方塊其點擊的顏色。 – Icy4614