我正在将p5.js用于我的项目,但我不明白如何检查是否按下了按键,何时检查某个键,但只运行了一次。
我需要在keyIsDown
中使用draw
函数,因为我需要不断地检查输入,但是当按下一个键时,请运行一次我的函数。但是,一旦该功能运行一次,我就需要准备好再次按下该键或其他键。
它当前正在运行与帧率成比例的函数,我希望它每次单击一次即可运行。一些伪代码如下所示:
function ABC () {
console.log("1")
}
draw () {
when key(1) is pressed:
function ABC()
}
即使我尽可能快地单击该键,输出也将输出“ 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
}
您可以在the reference中找到更多信息。
另一种方法是创建一个布尔变量,该变量跟踪您是否已经处理过按键。
关于javascript - 使用p5.js,在draw内部使用函数时,如何使其仅运行一次?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59122156/