您需要在动画/渲染循环中设置摄影机位置的动画。因此,每次渲染调用都会进一步设置摄影机位置。
var hold = -1;
document.addEventListener('contextmenu', onContextMenu, false);
document.addEventListener('mousedown', onMouseDown, false);
document.addEventListener('mouseup', onMouseUp, false);
function onContextMenu(event) { // Prevent right click
event.preventDefault();
}
function onMouseDown(event) {
hold = event.which;
}
function onMouseUp(event) {
console.log('mouse up');
hold = -1;
}
// render loop
function animate() {
requestAnimationFrame(animate);
switch(hold) {
case 1:
camera.position.z -= 0.1;
break;
case 3:
camera.position.z += 0.1;
break;
}
renderer.render(scene, camera);
}