Я прочитал много вопросов, не найдя ответа. Я пишу игру и хочу, чтобы она была отзывчивой. Мне удалось изменить размер моего ImageView
, связав его с моим Pane
, но Button
не изменили размер и не изменили положение автоматически. Я не могу понять, как изменить размер и переместить Button
s в зависимости от размера окна.
Вот моя основная функция с отображением первой страницы:
public static void main(String[] args) {
launch(args);
}
public void start(Stage stage) {
Pane pane = new Pane();
Scene scene = new Scene(pane);
scene.getStylesheets().add(getClass().getResource("Style.css").toExternalForm());
welcomePage(pane);
stage.setTitle("7Wonders Duel");
stage.setFullScreen(true);
stage.setScene(scene);
stage.show();
}
private void welcomePage(@NotNull Pane pane) {
playThemeMusic(themeMusic, settingList.get(1));
ImageView welcomePicture = welcomeDuel;
setImage(pane, welcomePicture);
ImageView settingsPicture = new ImageView("dir/Settings.png");
settingsPicture.setFitWidth(40.0);
settingsPicture.setPreserveRatio(true);
Button beginGame = new Button("Commencer la partie");
Button settingsButton = new Button();
beginGameButtonStyle(beginGame);
pane.getChildren().add(settingsButton);
pane.getChildren().add(beginGame);
beginGame.setOnAction(e -> {
playSoundEffect(1, settingList.get(2));
endOfBackgroundMusic = false;
themeMusic.stop();
beginGame.setDisable(true);
scaleAnimation(beginGame, 2);
settingsButton.setDisable(true);
settingsButton.setVisible(false);
EventHandler<ActionEvent> event = event1 -> {
beginGame.setVisible(false);
homeButton(pane);
printProgress(pane);
};
playEventOnTimelineFinished(2, event);
});
settingsButton.setOnAction(e -> {
playSoundEffect(0, settingList.get(2));
beginGame.setDisable(true);
beginGame.setVisible(false);
settingsButton.setDisable(true);
settingsButton.setVisible(false);
parametersPage(pane, settingList);
});
}
Я бы хотел, чтобы мой settingsButton
был шириной 3% от размера экрана и высотой 5% размера экрана. А также переводы по осям X и Y. Но я не знаю, как это сделать.
Любая помощь очень ценится.
Спасибо.