我正在使用此代码按下按钮绘制条形图,它可以工作。但是如果按下相同的按钮,我希望条形图再次隐藏。
这是我在按钮内的代码:
if (mousePressed)
{ // film 1
if (( mouseX > 1150) && (mouseY > 38) && (mouseX < 1207) && (mouseY < 65))
{
int x=0;
text("Rank Country Film",25,10);
int tRows = table1.getRowCount();
for(int i = 0; i < tRows; i++)
{
TableRow row = table1.getRow(i);
String r1 = row.getString("film");
String r2 = row.getString("country");
float r3 = row.getFloat("boxoffice");
int r4 = row.getInt("rank");
fill(255,0,0);
pushMatrix();
translate (0,25);
int legendXOffset = 20;
textFont(f,9);
text(r4,legendXOffset,i*11);
text(r2,legendXOffset + 20,i*11);
text(r1,legendXOffset + 70,i*11);
popMatrix();
float h = map(r3, 15, 0, 0, 80);
// change this one oamr x+30, x+=20 to make bars sepretly
rect(x+29, 635, 7, h);
x+=50;
int rank = row.getInt("rank");
String film = row.getString("film");
String country = row.getString("country");
}
}
}
答案 0 :(得分:0)
我认为我们需要更多代码来帮助您。这部分代码的方式让我猜你没有在你的抽奖中使用background(someColor)
,对吗?
我认为要走的路是:
使用callBack函数mousePressed()
代替字段mousePressed
。这将为您提供更好的控制
使用布尔值作为标记来绘制条形图。按下按钮时切换此标志。
draw()
使用background()
然而在draw()
有条件地绘制图表。
这是一个使用简单的rect作为图表占位符的示例:
// CLICK THE SCREEN TO SHOW THE "GRAPH"
boolean showGraph = false;
void setup(){
size(300,300);
rectMode(CENTER);
background(255);
}
void draw(){
//clear bg
background(255);
//conditionally draw
if(showGraph){
drawGraph();
}
}
void mousePressed(){
showGraph = !showGraph; // toggles true or false
}
void drawGraph(){
fill(200,23,178);
rect(width/2, height/2, 100,88);
}