我正在使用 Babylon 制作一款游戏,但是摄像机遇到了些许问题。
基本上,我希望(就像所有FPS游戏一样)摄像机可以无限移动,并且当鼠标到达页面边缘时不会停止。我尝试了以下代码:
window.mouse.x = ( event.clientX / window.innerWidth ) * 2 - 1;
window.mouse.y = -( event.clientY / window.innerHeight ) * 2 + 1;
if(mouse.x>0 || mouse.x<0){
scene.cameras[0].rotation = scene.cameras[0].rotation.add( new BABYLON.Vector3(0,(mouse.x)/100,0));
window.mouse.x = 0;
}
else if(mouse.y>0 || mouse.y<0){
scene.cameras[0].rotation = scene.cameras[0].rotation.add( new BABYLON.Vector3(0,(mouse.y)/100,0));
window.mouse.y = 0;
}
但是它的效果并不好。因为光标仍然停留在左侧或右侧。
我的问题是:
是否有可能将光标固定在页面中心,只获取鼠标移动事件,这样我就只需要关注这个移动事件了?