[英]Can i make my p5.js draw() function run only once, and then only on a button click?
[英]Using p5.js, when using a function inside of draw, how do I make it only go once?
我在我的一個項目中使用 p5.js,我不明白如何檢查是否按下了某個鍵,以及何時運行一個函數,但只運行一次。
我有keyIsDown
的函數內部draw
,因為我需要不斷地檢查輸入,但是當有鍵按下時,運行我的功能一次。 但是在此功能運行一次后,我需要它准備好再次按下該鍵或其他鍵。
它目前正在運行與幀率成正比的函數,我希望它在每次按鍵點擊時運行一次。 一些偽代碼如下所示:
function ABC () {
console.log("1")
}
draw () {
when key(1) is pressed:
function ABC()
}
即使我盡可能快地單擊該鍵,out 也會輸出“1”但 5-30 次。 問題是draw()
一直在循環,所以當它檢查keyPressed
,它會將其注冊為按下了幾次。
如何確保每次單擊按鈕時該功能僅運行一次,仍然繼續等待另一次按鈕單擊,但運行該功能?
編輯:
我都試過:
function keyTyped() {
console.log("a")
if (key === 'a') {
console.log("a")
}
}
和
function keyPressed() {
console.log("a")
if (key === 'a') {
console.log("a")
}
}
沒有任何反應,無論我按什么鍵。 應該有東西進入控制台,但什么都沒有。
您可以使用keyPressed()
函數:
function draw() {
// stuff that happens 60 times per second
}
function keyPressed() {
// stuff that happens once per key press
}
您可以在參考資料中找到更多信息。
另一種方法是創建一個布爾變量來跟蹤您是否已經處理過按鍵操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.