我正在尝试与巴比伦进行一场比赛,我对相机有一点问题。
基本上,我希望(像所有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;
}
但它效果不佳。因为光标仍然在左侧或右侧。
我的问题是:
是否可以将光标固定在页面的中心,只是让鼠标移动,所以我只需要关心这个动作?
请求帮助:)
答案 0 :(得分:4)
你无法移动我的光标(想象它会让互联网变得多么烦人):)但对于游戏,你应该能够利用全屏模式。请注意,在此阶段它仍在进行实验。
指针锁(以前称为鼠标锁)提供基于鼠标随时间的移动(即,增量)的输入方法,而不仅仅是鼠标光标的绝对位置。它使您可以访问原始鼠标移动,将鼠标事件的目标锁定到单个元素,消除了鼠标移动在单个方向上移动的限制,并从视图中移除光标。
此API对于需要大量鼠标输入来控制移动,旋转对象和更改条目的应用程序非常有用。对于高度可视化的应用程序尤其重要,例如那些使用第一人称视角的应用程序,以及3D视图和建模。