如何在Processing中按键添加/删除形状?

时间:2013-10-12 05:46:21

标签: processing ellipse

我想在Processing中按一下按钮添加/删除椭圆。我使用void keyPressed()和void keyReleased()作为键。但是如何使用if语句添加/删除椭圆?

现在我可以添加更多内容,并删除一些省略号。例如,如果我有一个,我可以按一个按钮,然后再有一个。或按一个按钮删除一个。但是现在我想使用不同的键集来移动这些省略号(最多4个)。我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

您需要做的是在绘制椭圆时读取布尔值。如果这是真的画它,如果不是!按键应该只是切换该布尔值。像这样:

boolean iShouldDrawTheEllipse = true;
void draw() {
  background(0);
  if(iShouldDrawTheEllipse) ellipse(50,50,10,10);
}
void keyPressed() {
  iShouldDrawTheEllipse = !iShouldDrawTheEllipse;
}

答案 1 :(得分:0)

您可以使用一些boolean来确定您需要打印哪个椭圆,哪些不是。

E.G。

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);
}

我希望我帮助过[;