我试图在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.
如果您希望我澄清任何内容或需要进一步的信息,我会提供.感谢您的帮助和美好的一天.