任何人都可以告诉我如何在循环中使用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() {}
答案 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>