Javafx SetOnMouse在特定的x之间移动
我正在进行游戏突破,并希望在鼠标移动后移动划桨。当鼠标离开我的Javafx SetOnMouse在特定的x之间移动,javafx,Javafx,我正在进行游戏突破,并希望在鼠标移动后移动划桨。当鼠标离开我的AnchorPane名为windowPane的窗口时,挡板也消失了一半。我想寻求帮助:当我到达窗格的边界时,如何使划桨不再跟随鼠标 windowPane.setOnMouseMoved(new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent event) { /**move Paddle with
AnchorPane
名为windowPane
的窗口时,挡板也消失了一半。我想寻求帮助:当我到达窗格的边界时,如何使划桨不再跟随鼠标
windowPane.setOnMouseMoved(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
/**move Paddle with mouse *@author Can @author SziSzi */
paddle.setLayoutX(event.getY());
paddle.setLayoutX(event.getX()- paddle.getWidth()/2);
}
});
windowPane.setOnMouseMoved(新的EventHandler(){
@凌驾
公共无效句柄(MouseeEvent事件){
/**用鼠标移动挡板*@author Can@author SziSzi*/
setLayoutX(event.getY());
batle.setLayoutX(event.getX()-batle.getWidth()/2);
}
});
检查位置是否会使挡板违反窗格的边界:
double h = paddle.getHeight();
double pW = paddle.getWidth() / 2;
double x = event.getX();
double y = event.getY();
if (x >= pW && x + pW <= windowPane.getWidth() && y + h <= windowPane.getHeight()) {
paddle.setLayoutY(y);
paddle.setLayoutX(x - pW);
} // otherwise ignore the event
double h=blade.getHeight();
double pW=blade.getWidth()/2;
double x=event.getX();
双y=event.getY();
如果(x>=pW&&x+pW谢谢你。现在它工作得非常好。我只需要在Y方向更新我的桨布局。;)谢谢