Move in view direction when pressing 'w'

This commit is contained in:
Julian Brammer 2023-11-28 18:40:46 +01:00
parent 2200b54b21
commit cf77804e5e

View File

@ -84,6 +84,7 @@ function main() {
function move(e)
{
if (false) {
if (e.keyCode == '87') //w
{
eye[2] = eye[2] - 0.5;
@ -101,7 +102,28 @@ function move(e)
eye[0] = eye[0] + 0.5;
target[0] = target[0] + 0.5;
}
}
if (true) {
let distance = Math.sqrt((target[0]-eye[0])**2 + (target[2]-eye[2])**2)
let moveX = ((target[0]-eye[0])/distance)/2;
let moveZ = ((target[2]-eye[2])/distance)/2;
if (e.keyCode == "87") { // w
eye[0] = eye[0] + moveX;
eye[2] = eye[2] + moveZ;
target[0] = target[0] + moveX;
target[2] = target[2] + moveZ;
} else if (e.keyCode == "65") { // a
console.log("key not implemented")
} else if (e.keyCode == "83") { // s
console.log("key not implemented")
} else if (e.keyCode == "68") { // d
console.log("key not implemented")
}
}
console.log(eye[0], eye[2]);
//set the viewMatrix
const viewLoc = gl.getUniformLocation(program, "viewMatrix");
mat4.lookAt(viewMatrix, eye, target, up);