2016-08-18 1 views
-2

誰でも私がループでmousePressedを使用する方法を教えてもらえますか? 各四角形をクリックすると、一度に1つずつ色が変わります。ループでの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

https://processing.org/reference/mousePressed_.html –

答えて

0

ステップ1:ストア状態データ構造のいくつかの種類であなたの正方形の。これには、booleanの値の2D配列を使用することができます。

ステップ2:データ構造を四角の位置にマップします。 2D配列を使用している場合は、インデックス[i][j]i*50, j*50x,yの位置に割り当てることができます。これは単なる例であり、使用する値は、正方形をどれだけ大きくするかによって決まります。

ステップ3:mousePressed()機能で、他の道に行く:カーソルの位置mouseX, mouseY与えられたが、戻ってあなたの2D配列で[i][j]インデックスにマップします。そのインデックスの状態を設定します(たとえば、インデックスにbooleanの値を反転します)。

ステップ4関数draw()関数では、2D配列を繰り返し、そのインデックスの値に基づいて(ステップ2と同じ座標マッピングを使用して)四角形を描きます。

関連する問題