我试图用相同的键实现草图的暂停/播放,例如,如果按p草图应该停止,如果再次按p,草图应该重新开始。到目前为止,我使用noLoop()/ loop()来做到这一点,但有两个不同的键(p代表暂停,r代表启动)。如果我使用keyPressed()和keyReleased(),它确实有效,但这意味着要按住键,但这不能回答我的问题。同样在暂停模式下,我使用redraw()作为单一步骤,而noLoop()并且工作良好。 下面是一些代码,我试过到目前为止有两个不同的密钥:如何用相同的按钮暂停/播放草图?
public void draw(){
background(random(255));
}
public void keyPressed(){
if (key == 'p')
noLoop();
if (key == 'r')
loop();
if (key == 's')
redraw();
}
这是使用相同的密钥代码:
public void draw(){
background(random(255));
}
public void keyPressed(){
if (key == 'p')
noLoop();
if (key == 'p')
loop();
if (key == 's')
redraw();
}
在这种情况下,当我按下它不关键”没有任何作用。 ,最后一个我想是这样的:
public void draw(){
background(random(255));
}
public void keyPressed(){
if (key == 'p')
noLoop();
else
loop();
if (key == 's')
redraw();
}
在这种情况下,当我按“P”停止草图,但不会再次发挥。因为'别的'它会再次播放时,我按任何键,包括's',假设只是一个单一的步骤。 任何帮助都是值得欢迎的。 谢谢!
非常感谢。这是我的第一个问题,我不了解MCVE。我编辑了这篇文章,我认为你是这样获得的。关于代码现在它正在按照我需要的方式工作,并且我会牢记您的建议以获得逐步完成代码的习惯。 –