2013-10-12 37 views
0

我想在Processing中按下按钮来添加/删除一个椭圆。我使用void keyPressed()和void keyReleased()作为键。但我怎样才能使用if语句添加/删除椭圆?如何使用处理中的按键添加/删除形状?

现在我可以添加更多,并删除一些省略号。例如,如果我有一个我可以按一个按钮,然后再有一个。或者按一个按钮删除一个。但是现在我想用这些椭圆(最多4个)为它们中的每一个使用不同的键集。我怎样才能做到这一点?

回答

2

你需要做的是有一个布尔值被读取,每当椭圆被绘制。如果那是真的,画出来,如果不是这样的话!按键应该只是切换布尔值。就像这样:

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

现在我可以添加更多,并删除一些省略号。例如,如果我有一个我可以按一个按钮,然后再有一个。或者按一个按钮删除一个。但是现在我想用这些椭圆(最多4个)为它们中的每一个使用不同的键集。我怎样才能做到这一点? – user2873288

+1

然后,请将其转换为另一个问题,如果它回答了您的第一个问题,请接受此问题! –

0

你可以使用一些boolean s到确定的该椭圆您必须打印并没有。

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

我希望我帮助[;

相关问题