我試圖用相同的鍵實現草圖的暫停/播放,例如,如果按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。我編輯了這篇文章,我認爲你是這樣獲得的。關於代碼現在它正在按照我需要的方式工作,並且我會牢記您的建議以獲得逐步完成代碼的習慣。 –