我正在尝试使用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);
}
我希望在按下键盘上的某个键时就能看到指示灯,但是这不会发生。没有显示错误消息。
答案 0 :(得分:0)
如Chris G所述:
检测到该键就很好了,因为您会注意到是否向该函数添加了alert(“ key press”)之类的东西。问题在于,仅调用一次a)和b)light函数不会执行任何操作。您需要在draw()循环函数中以及添加球体之前调用它。示例:jsfiddle.net/khrismuc/p503ers8
我认为这完全可以回答我的问题,因此我将其作为可接受的答案发布在这里!