我正在使用p5.JS制作基本的第一人称相机控制器,我在if语句内部使用move函数(使用
我也尝试使用
keyIsDown
),但即使按键没有按下,相机仍然会移动(我指的是按下一秒钟然后不再按下)。我也尝试使用
while ()
,但导致程序崩溃。
let d;
let cam;
let x, y, z;
let img;
let floor_texture;
//place holder image
floor_texture = 'https://miro.medium.com/max/1400/1*WI5Zw1eKEKNmRX3zreeUHw.png';
function preload() {
img = loadImage(floor_texture);
}
function setup() {
createCanvas(windowWidth, windowHeight, WEBGL);
x = 0;
y = 0;
z = 0;
cam = createCamera();
}
function draw() {
d = dist
background(255);
cam.pan(-movedX * 0.005);
cam.tilt(movedY * 0.005);
fill('white');
sphere(25);
fill('red');
texture(img);
translate(0, 350, 0)
box(5000, 500, 5000)
if (keyIsPressed && keyCode === 69) {
requestPointerLock();
}
cam.move(x, y, z);
if (keyIsDown(87)) {
z -= 0.1;
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.1/p5.js"></script>