それは主に、相互作用をどのように想像するかによると思います。必要に応じて、シンプルにすることも複雑にすることもできます。
それが役立つ場合、ここにいくつかのアイデアがあります:
1.マウス ボタンごとに異なるアクションを使用します(たとえば、通常/左クリックで新しい円が生成され、右クリックで既存の円が目的の場所に移動します)。
void draw(){
color bg = color(0);
if(mousePressed){
if(mouseButton == LEFT ) bg = color(192,0,0);
if(mouseButton == CENTER) bg = color(0,192,0);
if(mouseButton == RIGHT) bg = color(0,0,192);
}
background(bg);
}
2.ボタンとキーの組み合わせを使用します。たとえば、 aSHIFT+CLICK
はデフォルトではなく別のアクションを実行します。
void draw(){
color bg = color(0);//default
if(mousePressed && keyPressed && keyCode == SHIFT) bg = color(255,192,0);//shift+click
background(bg);
}
3. クリック数を追跡し、クリック数をさまざまな状態の手がかりとして使用します。
int numClicks = 0;
void draw(){
background(numClicks*25);
}
void mousePressed(){
numClicks++;
if(numClicks > 10) numClicks = 0;//reset after 10 'states'/different clicks
}
ただし、インタラクションはおそらく直感的ではないためです。私の意見では、(特にユーザーにとって) シンプルなものほど良いと思います。
HTH