keyPressed() 在 p5 中没有激活

keyPressed() does not activate in p5

我正在尝试使用 keyPressed() 在我的 3D-space 中生成光源。但是,按下键盘上的键后,没有任何反应。我按照以下教程中的说明进行操作,看不出他和我的代码有什么区别:https://www.youtube.com/watch?v=UvSjtiW-RH8

我试图寻找教程和我的程序之间的差异,并且我尝试使用光源以外的东西作为 object/event 以使用 keyPressed() 激活(例如我尝试更改背景颜色)。

function setup() {
    createCanvas(windowWidth, windowHeight, WEBGL);
}

function draw() {
    background(100);

    push();
    ambientMaterial(255, 255, 255);
    rotateY(angle);
    rotateX(angle);
    sphere(300);
    translate(200, 300);
    sphere(50);
    pop();
}

function keyPressed() {
    pointLight(255, 55, 255, 10, 200, 400);
}

我希望在按下键盘上的某个键时能看到指示灯,但这并没有发生。没有显示错误消息。

正如 Chris G 所述:

密钥检测得很好,如果您向函数中添加类似 alert("key press") 的内容,您会注意到这一点。问题是调用光函数 a) 和 b) 只调用一次什么都不做。您需要在 draw() 循环函数中调用它,然后再添加球体。示例:jsfiddle.net/khrismuc/p503ers8

我认为这完全回答了我的问题,因此我将post这里作为公认的答案!