2015-02-10 64 views
0

我正在使用Processing来创建一些东西,基本上我的keyDown()不起作用。它应该在任何按键被按下时触发,但函数没有被调用。下面的代码:keyDown()不工作处理

int playerno=0; //determines player 
 
boolean ready=true; 
 
void setup() { 
 
    size(700, 700); 
 
    background(#FFFFFF); 
 
    fill(#000000); 
 
    textSize(50); 
 
    text("Press Any Key To Start", 350, 350); 
 
} 
 

 
void keyPressed() { 
 
    if (ready) { 
 
    fill(#FFFFFF); 
 
    rect(350, 350, 200, 100); 
 
    fill(#000000); 
 
    textSize(50); 
 
    text("Game Ready", 350, 350); 
 
    boolean ready=false; 
 
    } 
 
}

回答

0

这将不会在未draw功能工作。你也在keypressed()里面声明新的局部变量ready这是个错误的错误。尝试将您的绘图代码从“keyDown()”移动到“绘图”中,如下所示:

void draw() { 
    if (ready == false) { 
    background(#FFFFFF);  //This is needed for redrawing whole scene 
    fill(#FFFFFF); 
    rect(350, 350, 200, 100); 
    fill(#000000); 
    textSize(50); 
    text("Game Ready", 350, 350); 
    } 
} 

void keyPressed() { 
    if (ready) { 
    ready=false; 
    } 
}