2016-11-07 13 views
0

私はProcessingを理解しようとしていますので、いくつかランダムなことをしています。私は以下のコードを使用していると私は左上に描かれたドットの数を引くとカウントする: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); 
     } 
    } 
} 

しかし、その代わりに、私は同じ番号のすべての時間を取得しています:

enter image description here

答えて

1

i変数は常に0に設定されています。

一度に1つのドットしか描画しない場合、なぜ配列を使用していますか?

どちらの場合でも、ドットが描画されるたびに変数をインクリメントし、その変数をカウントとして使用する必要があります。ここに小さな例があります。

int i = 0; 
i++; 
println(i); //prints 1 
i++; 
println(i); //prints 2 

int i = 0; 
i = i + 1; 
println(i); //prints 1 
i = i + 1; 
println(i); //prints 2 

このコードはわずかに++インクリメント演算子を使用して短縮することができ

関連する問題