仅在按下键后才能运行我的功能?

时间:2019-11-12 19:49:54

标签: javascript processing p5.js

我想在按下某个键时运行startDraw()函数,并在按下该键后使其连续运行。我尝试使用if(mouseIsPressed)语句和p5.js中预定义的mousePressed()函数,但是它仅运行startDraw()函数的时间少于1秒(被按下)。

function draw(){
    background(220);

    startDraw();
}

例如:

function draw(){

    if (mouseIsPressed) {
        startDraw();
    }
}

这仅在按键按下期间有效,而不是在以后。

1 个答案:

答案 0 :(得分:1)

创建一个状态变量(drawing),该状态变量已初始化False,并在mousePressed()回调中将其设置为True

let drawing = False;

function draw(){
      background(220);

      if (drawing) {
          startDraw();
      }
}

function mousePressed() {
    drawing = True;
}

或者,您可以在noLoop()停止draw()的情况下启动应用程序,并在按下鼠标时通过loop()来启动应用程序:

function setup() {

    // [...]

    noLoop();
}   

function mousePressed() {
    loop();
}

function draw(){
    background(220);
    startDraw();
}