Итак, у меня в одном классе создается панель
@Override //Overridden nerd
public void start(Stage primaryStage) {
//makes a ball
Ball ball = new Ball();
//pause and resume animation
ball.setOnMousePressed(e -> ball.pause());
ball.setOnMouseReleased(e -> ball.play());
//increase/decrease speed
ball.setOnKeyPressed(e-> {
if(e.getCode() == KeyCode.UP) {
ball.increaseSpeed();
}
else if (e.getCode() == KeyCode.DOWN) {
ball.decreaseSpeed();
}
});
//creating a scene and setting its background
Scene scene = new Scene(ball, 500, 500);
primaryStage.setTitle("Random Walker");
primaryStage.setScene(scene);
primaryStage.show();
ball.requestFocus();
}
public static void main(String[] args) {
Application.launch(args);
}
}
и я пытаюсь получить анимацию, чтобы запустить мяч в центре от панели, а затем отскочить от стен (я еще не на подпрыгивающей части, так что я знаю, что это еще не идеально, но я пытаюсь)
Моя проблема в том, что, когда я пытаюсь заставить шарик отрисовать текущий размер окна, он вообще ничего не рисует, но будет работать, если я вручную введу размер экрана по умолчанию. любое понимание было бы замечательно, поскольку я некоторое время пытался найти какой-либо способ сделать это, спасибо.
public class setup extends Application {
@Override //Overridden nerd
public void start(Stage primaryStage) {
//makes a ball
Ball ball = new Ball();
//pause and resume animation
ball.setOnMousePressed(e -> ball.pause());
ball.setOnMouseReleased(e -> ball.play());
//increase/decrease speed
ball.setOnKeyPressed(e-> {
if(e.getCode() == KeyCode.UP) {
ball.increaseSpeed();
}
else if (e.getCode() == KeyCode.DOWN) {
ball.decreaseSpeed();
}
});
//creating a scene and setting its background
Scene scene = new Scene(ball, 500, 500);
primaryStage.setTitle("Random Walker");
primaryStage.setScene(scene);
primaryStage.show();
ball.requestFocus();
}
public static void main(String[] args) {
Application.launch(args);
}
}