我现在有几个函数在draw方法中被按键激活。基本上,有一个复杂的正方形网格,并且每个正方形的颜色都是基于用户按下的键('a'使其变为红色,'b'使其变成绿色等等),用分配给每个正方形的方法填充。在处理中重置KeyPressed()
但是,每次按下第一个按键时,都会根据该按键填充所有的方块(例如,如果用户按下的第一个按键为'a',则所有方块都将是红色而不是只是第一个)。我怎样才能使第一个按键适用于第一个方法,第二个按键适用于第二个方法,依此类推,即使它在循环draw()方法中。下面是低于过于简化的版本:
void draw(){
BoxOne();
BoxTwo();
}
void boxOne(){
if(keyPressed){
if(key == 'a'){
fill(red);
}
if(key == 'b'){
fill(green);
}
rect(10, 10, 10, 10);
}
}
void boxTwo(){
if(keyPressed){
if(key == 'a'){
fill(red);
}
if(key == 'b'){
fill(green);
}
rect(20, 20, 10, 10);
}
}
我想,反正是有“重置”的keyPressed选项,以便它需要在另一个关键的下一次?