mousePressed 循环
mousePressed in a loop
谁能告诉我如何在循环中使用 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 步:将方块的状态存储在某种数据结构中。您可以为此使用 boolean
值的二维数组。
步骤 2: 将数据结构映射到方块的位置。如果您有一个二维数组,您可以将索引 [i][j]
映射到 i*50, j*50
的 x,y
位置。这只是一个示例,您使用的值取决于您希望方块的大小。
第 3 步: 在 mousePressed()
函数中,走另一条路:给定光标的 mouseX, mouseY
位置,将其映射回 [i][j]
二维数组中的索引。设置该索引的状态(例如,翻转该索引处的 boolean
值)。
第 4 步: 在 draw()
函数中,遍历二维数组并根据值绘制一个正方形(使用与第 2 步相同的坐标映射)在那个指数。
谁能告诉我如何在循环中使用 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 步:将方块的状态存储在某种数据结构中。您可以为此使用 boolean
值的二维数组。
步骤 2: 将数据结构映射到方块的位置。如果您有一个二维数组,您可以将索引 [i][j]
映射到 i*50, j*50
的 x,y
位置。这只是一个示例,您使用的值取决于您希望方块的大小。
第 3 步: 在 mousePressed()
函数中,走另一条路:给定光标的 mouseX, mouseY
位置,将其映射回 [i][j]
二维数组中的索引。设置该索引的状态(例如,翻转该索引处的 boolean
值)。
第 4 步: 在 draw()
函数中,遍历二维数组并根据值绘制一个正方形(使用与第 2 步相同的坐标映射)在那个指数。