keyPressed()在p5中未激活

时间:2019-05-16 09:37:25

标签: javascript p5.js

我正在尝试使用keyPressed()在3D空间中生成光源。但是,按下键盘上的键后,什么也不会发生。我按照以下教程中的指示进行操作,看不到他和我的代码有什么区别:2.7.1 Reflecting content attributes in IDL attributes

我试图寻找本教程与程序之间的差异,并且尝试使用除光源之外的其他东西作为要通过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);
}

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

1 个答案:

答案 0 :(得分:0)

如Chris G所述:

检测到该键就很好了,因为您会注意到是否向该函数添加了alert(“ key press”)之类的东西。问题在于,仅调用一次a)和b)light函数不会执行任何操作。您需要在draw()循环函数中以及添加球体之前调用它。示例:jsfiddle.net/khrismuc/p503ers8

我认为这完全可以回答我的问题,因此我将其作为可接受的答案发布在这里!