Pol*_*ire 6 java javafx perspectivecamera
我试图在JavaFX中设置摄像机移动的限制,这样当它移动时,它不允许用户以只有子场内容可见的方式移动.目前,我的移动代码看起来如下,并没有检查来防止这种情况,我已经尝试通过检查其坐标并近似它是否将显示子场景的内容来限制相机的移动,但是那里有问题它只是一个近似值和缩放时.TLDR,问题涉及1检测相机何时远离其内容,以及2防止转换发生,如果它将导致相机远离内容.
mapView.addEventFilter(MouseEvent.MOUSE_PRESSED, e->{
startX = e.getX();
startY = e.getY();
});
mapView.addEventFilter(MouseEvent.MOUSE_DRAGGED, e -> {
camera.setTranslateX(camera.getTranslateX() + (startX - e.getX()));
camera.setTranslateY(camera.getTranslateY() + (startY - e.getY()));
});
Run Code Online (Sandbox Code Playgroud)
如果相关,mapView是一个MeshView.
如果您希望我澄清任何内容或需要进一步的信息,我会提供.感谢您的帮助和美好的一天.
这很常见:只需移动,移动后检查是否超出范围...在这种情况下返回场景...这通常感觉很自然,就像当您尝试在手机上平移图像时...它并不不仅仅是阻止:它看起来像是在抵抗,当你结束手势时它会返回……这是最简单的事情
| 归档时间: |
|
| 查看次数: |
335 次 |
| 最近记录: |