mousePressed在循环中

时间:2016-08-18 02:54:10

标签: processing

任何人都可以告诉我如何在循环中使用mousePressed 当我点击每个方块时,它会一次改变一个颜色。

 
int WIDTH = 200; 
int HEIGHT = 200;
int X = WIDTH /3; 
int Y = HEIGHT / 4;

void setup()
{
    size(200,200); 
    background(255);
    strokeWeight(4);
    stroke(2);
}

void draw()
{
    for (int n = 0; n < 4; n++) { 
        for (int g = 0; g < 4; g++) { 
            if ((n + g + 1) % 2 == 0) {
            }
            fill(255);
            rect(n * X, g * Y, (n + 1) * X, (g + 1) * Y); 
        }
    }
}
void mousePressed() {}

1 个答案:

答案 0 :(得分:0)

第1步:将广场的状态存储在某种数据结构中。您可以使用boolean值的二维数组。

第2步:将数据结构映射到正方形的位置。如果您有2D数组,则可以将索引[i][j]映射到x,y的{​​{1}}位置。这只是一个示例,您使用的值取决于您希望平方的大小。

第3步:i*50, j*50函数中,转到另一个方向:给定游标的mousePressed()位置,将其映射回mouseX, mouseY索引在你的2D数组中。设置该索引的状态(例如,翻转该索引处的[i][j]值。)

步骤4:boolean函数中,迭代2D数组并根据索引处的值绘制一个正方形(使用步骤2中的相同坐标映射)。 / p>