작성
·
256
답변 1
1
walk 함수를 아래와 같이 바꾸어 보세요!
코드에 중복되는 부분이 있는데 이 부분은 자유롭게 리팩토링 해보시면 되겠습니다.
단순하게 알려드리려고 일부러 그대로 부호만 바꾸어 보았어요.
이 내용은 다른 분들께도 도움이 될 것 같아서, 추후에 추가 영상으로 제작해도 좋을 것 같다는 생각이 드네요^^
function walk() {
if (keyController.keys['KeyW'] || keyController.keys['ArrowUp']) {
// controls.moveForward(0.02);
const direction = new THREE.Vector3();
camera.getWorldDirection(direction);
const direction2 = new THREE.Vector3();
direction2.x = direction.x * 0.03;
direction2.y = direction.y * 0.03;
direction2.z = direction.z * 0.03;
camera.position.add(direction2);
}
if (keyController.keys['KeyS'] || keyController.keys['ArrowDown']) {
// controls.moveForward(-0.02);
const direction = new THREE.Vector3();
camera.getWorldDirection(direction);
const direction2 = new THREE.Vector3();
direction2.x = -direction.x * 0.03;
direction2.y = -direction.y * 0.03;
direction2.z = -direction.z * 0.03;
camera.position.add(direction2);
}
if (keyController.keys['KeyA'] || keyController.keys['ArrowLeft']) {
controls.moveRight(-0.02);
}
if (keyController.keys['KeyD'] || keyController.keys['ArrowRight']) {
controls.moveRight(0.02);
}
}
답변 감사합니다!😁