0

Processingでボタンを押すだけで楕円を追加・削除したい。キーには void keyPressed() と void keyReleased() を使用します。しかし、ifステートメントを使用して楕円を追加/削除するにはどうすればよいですか?

これで、さらに を追加し、いくつかの楕円を削除できます。たとえば、ボタンを 1 つ持っている場合は、ボタンを押してからもう 1 つ持つことができます。または、ボタンを押して削除します。しかし今、私はそれらの楕円 (最大 4) をそれぞれに異なるキー セットを使用して移動したいと考えています。どうやってやるの?

4

2 に答える 2

2

あなたがする必要があるのは、楕円が描かれるときはいつでもブール値が読み取られるようにすることです。それが本当なら描く、そうでなければ描かない!キープレスはそのブール値を切り替えるだけです。このような:

boolean iShouldDrawTheEllipse = true;
void draw() {
  background(0);
  if(iShouldDrawTheEllipse) ellipse(50,50,10,10);
}
void keyPressed() {
  iShouldDrawTheEllipse = !iShouldDrawTheEllipse;
}
于 2013-10-12T11:27:25.060 に答える
0

いくつかbooleanの s を使用して、印刷する必要がある楕円と印刷しない楕円を決定できます。

例えば

void keyPressed(){
  switch(keyCode){
    case 'z':
      drawingFirstEllipse = !drawingFirstEllipse;
      break;
    case 'x':
      drawingSecondEllipse = !drawingSecondEllipse;
    break;
    case 'c':
      drawingThirdEllipse = !drawingThirdEllipse;
    break;
    case 'v':
      drawingFourthEllipse = !drawingFourthEllipse;
    break;
  }
}

次に、void draw(void)メソッドで楕円を簡単に描画できます。

void draw(){
  background(0);
  if(drawingFirstEllipse) ellipse(50, 50, 10, 10);
  if(drawingSecondEllipse) ellipse(50, 50, 70, 10);
  if(drawingThirdEllipse) ellipse(50, 50, 130, 10);
  if(drawingFourthEllipse) ellipse(50, 50, 190, 10);
}

お役に立てば幸いです[;

于 2013-10-12T22:25:40.697 に答える