【发布时间】:2017-07-20 07:46:59
【问题描述】:
我正在尝试使用相同的键为草图实现暂停/播放,例如,如果我按 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”时,它会停止草图但不会再次播放。由于'else',当我按下任何键(包括's')时它会再次播放,这应该只是一个步骤。 任何帮助都非常受欢迎。 谢谢!
【问题讨论】:
标签: processing