我正在尝试理解Processing,所以我正在做一些随机的事情。我正在使用下面的代码,我想绘制并计算左上角绘制的点数:
int clickx[] = new int[50];
int clicky[] = new int[50];
int mousx = 0;
int mousy = 0;
void setup() {
size(860, 640);
background(0);
frameRate(30);
mousx = mouseX;
mousy = mouseY;
}
void draw() {
if (mousePressed) {
if (mousx != mouseX) {
stroke(255);
point(mouseX, mouseY);
int i = 0;
clickx[i] = mouseX;
clicky[i] = mouseY;
i++;
text(i, 50, 50);
}
}
}
但我总是得到相同的数字:
答案 0 :(得分:1)
您的i
变量始终设置为0
。
如果你一次只绘制一个点,为什么要使用数组呢?
在任何一种情况下,每次绘制一个点时都需要增加一个变量,然后使用该变量作为计数。这是一个小例子;
int i = 0;
i = i + 1;
println(i); //prints 1
i = i + 1;
println(i); //prints 2
使用++
增量运算符可以略微缩短此代码:
int i = 0;
i++;
println(i); //prints 1
i++;
println(i); //prints 2