Java 如何将主菜单连接到游戏中? public类主菜单扩展SnakeAndLadder{ 私有组tileGroup=新组(); 公共布尔值=false; 私有父CreateContent(){ StackPane root=新的StackPane(); root.setPrefSize(宽度*瓷砖大小,(高度*瓷砖大小)+80); root.getChildren().addAll(tileGroup); 按钮启动=新按钮(“启动”); start.setTranslateX(10); start.setTranslateY(-500); start.setPrefSize(300150); setOnAction(新的EventHandler(){ @凌驾 公共无效句柄(ActionEvent事件){ gameStarted(); } }); 按钮退出=新按钮(“退出”); 出口。setTranslateX(10); 退出setTranslateY(-300); 退出.setPrefSize(300150); setOnAction(新的EventHandler(){ @凌驾 公共无效句柄(ActionEvent事件){ 系统出口(0); } }); tileGroup.getChildren().addAll(开始、退出); 返回根; } @凌驾 public void start(Stage primaryStage)引发异常{ 场景=新场景(createConetent()); 初级阶段。片名(“蛇和梯子”); 初级阶段。场景(场景); primaryStage.show(); } 公共静态void main(字符串参数[]){ 发射(args); } }

Java 如何将主菜单连接到游戏中? public类主菜单扩展SnakeAndLadder{ 私有组tileGroup=新组(); 公共布尔值=false; 私有父CreateContent(){ StackPane root=新的StackPane(); root.setPrefSize(宽度*瓷砖大小,(高度*瓷砖大小)+80); root.getChildren().addAll(tileGroup); 按钮启动=新按钮(“启动”); start.setTranslateX(10); start.setTranslateY(-500); start.setPrefSize(300150); setOnAction(新的EventHandler(){ @凌驾 公共无效句柄(ActionEvent事件){ gameStarted(); } }); 按钮退出=新按钮(“退出”); 出口。setTranslateX(10); 退出setTranslateY(-300); 退出.setPrefSize(300150); setOnAction(新的EventHandler(){ @凌驾 公共无效句柄(ActionEvent事件){ 系统出口(0); } }); tileGroup.getChildren().addAll(开始、退出); 返回根; } @凌驾 public void start(Stage primaryStage)引发异常{ 场景=新场景(createConetent()); 初级阶段。片名(“蛇和梯子”); 初级阶段。场景(场景); primaryStage.show(); } 公共静态void main(字符串参数[]){ 发射(args); } },java,javafx,Java,Javafx,我使用extend来获得与主游戏相同大小的gui。但是当我点击开始按钮时,我得到了一个错误 我是新来的,我不确定这样做是否有效,所以我想听听你的建议。任何帮助都将不胜感激 以下是游戏的代码: public class MainMenu extends SnakeAndLadder { private Group tileGroup = new Group(); public boolean started=false; private Parent createCone

我使用extend来获得与主游戏相同大小的gui。但是当我点击开始按钮时,我得到了一个错误

我是新来的,我不确定这样做是否有效,所以我想听听你的建议。任何帮助都将不胜感激

以下是游戏的代码:

public class MainMenu extends SnakeAndLadder {
    private Group tileGroup = new Group();
    public boolean started=false;

    private Parent createConetent(){
        StackPane root = new StackPane();
        root.setPrefSize(width* tileSize,(height* tileSize)+80);
        root.getChildren().addAll(tileGroup);

        Button start = new Button("Start");
        start.setTranslateX(10);
        start.setTranslateY(-500);
        start.setPrefSize(300,150);
        start.setOnAction(new EventHandler<ActionEvent>() {
            @Override
            public void handle(ActionEvent event) {
                gameStarted();
            }
        });

        Button exit = new Button("Exit");
        exit.setTranslateX(10);
        exit.setTranslateY(-300);
        exit.setPrefSize(300,150);
        exit.setOnAction(new EventHandler<ActionEvent>() {
            @Override
            public void handle(ActionEvent event) {
                System.exit(0);
            }
        });
        tileGroup.getChildren().addAll(start,exit);

        return root;
    }

    @Override
    public void start(Stage primaryStage)throws Exception{
        Scene scene = new Scene(createConetent());
        primaryStage.setTitle("Snake And Ladder");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String args[]){
        launch(args);
    }
}
公共类SnakeAndLadder扩展了应用程序{
公共静态最终int tileSize=80;
公共静态最终整数宽度=10;
公共静态最终内部高度=10;
公共组标题组=新组();
私有父createContent(){
窗格根=新窗格();
root.setPrefSize(宽度*瓷砖大小,(高度*瓷砖大小)+80);
root.getChildren().addAll(titleGroup);
对于(int i=0;i
包装样品;
导入javafx.animation.TranslateTransition;
导入javafx.application.application;
导入javafx.event.ActionEvent;
导入javafx.event.EventHandler;
导入javafx.scene.Group;
导入javafx.scene.Parent;
导入javafx.scene.scene;
导入javafx.scene.control.Button;
导入javafx.scene.control.Label;
导入javafx.scene.image.image;
导入javafx.scene.image.ImageView;
导入javafx.scene.layout.Pane;
导入javafx.scene.layout.StackPane;
导入javafx.scene.paint.Color;
导入javafx.scene.shape.Circle;
导入javafx.scene.text.Font;
导入javafx.scene.text.text;
导入javafx.stage.stage;
导入javafx.util.Duration;
导入javax.swing.*;
公共类SnakeAndLadder扩展了应用程序{
公共静态最终int tileSize=80;
公共静态最终整数宽度=10;
公共静态最终内部高度=10;
公共组标题组=新组();
私有父createContent(){
窗格根=新窗格();
root.setPrefSize(宽度*瓷砖大小,(高度*瓷砖大小)+80);
root.getChildren().addAll(titleGroup);

对于(int i=0;我不认为扩展提供的大小与以前的GUI相同。此外,您没有显示
launch()的代码
所以我们不知道到底发生了什么。所以我注意到我有两个启动参数,一个在游戏类中,另一个在菜单类中。这造成了错误。我确实成功启动了游戏,但现在的问题是主菜单没有消失。这是什么-回答或进一步的细节问题?如果是前者,请解释(自然语言:)它是如何解决您的问题的,如果是后者,请编辑并澄清问题
public class SnakeAndLadder extends Application {

    public static final int tileSize = 80;
    public static final int width = 10;
    public static final int height = 10;


    public Group titleGroup = new Group();

    private Parent createContent(){

        Pane root = new Pane();
        root.setPrefSize(width * tileSize, (height * tileSize) + 80);
        root.getChildren().addAll(titleGroup);

        for(int i=0; i<width; i++){
            for(int j=0; j<height; j++){
                Tile tile = new Tile(tileSize, tileSize);
                tile.setTranslateX(j * tileSize);
                tile.setTranslateY(i * tileSize);
                titleGroup.getChildren().add(tile);

            }

        }
        return root;

    }

    @Override
    public void start(Stage primaryStage) throws Exception{

        Scene scene = new Scene(createContent());
        primaryStage.setTitle("Quiz Snake and Ladder Game");
        primaryStage.setResizable(false);
        primaryStage.setScene(scene);
        primaryStage.show();


    }

       public void gameStarted() {
            launch();

    }
}
package sample;

import javafx.animation.TranslateTransition;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.Pane;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.stage.Stage;
import javafx.util.Duration;
import javax.swing.*;

public class SnakeAndLadder extends Application {

    public static final int tileSize = 80;
    public static final int width = 10;
    public static final int height = 10;

    public Group titleGroup = new Group();

    private Parent createContent(){

        Pane root = new Pane();
        root.setPrefSize(width * tileSize, (height * tileSize) + 80);
        root.getChildren().addAll(titleGroup);

        for(int i=0; i<(width-.14); i++){
            for(int j=0; j<height; j++){
                Tile tile = new Tile(tileSize, tileSize);
                tile.setTranslateX(j * tileSize);
                tile.setTranslateY(i * tileSize);
                titleGroup.getChildren().add(tile);

            }

        }
       return root;

        }

    //@Override
    public void start(Stage primaryStage)throws Exception {


        Scene scene1 = new Scene(createConetent(primaryStage));
        primaryStage.setTitle("Main Menu");
        primaryStage.setScene(scene1);
        primaryStage.show();


    }

    private Parent createConetent(Stage primaryStage)throws Exception{
        Pane root = new Pane();
        root.setPrefSize(width* tileSize,height* tileSize);
        root.getChildren().addAll(titleGroup);

        Button start = new Button("Start");
        start.setTranslateX(253);
        start.setTranslateY(100);
        start.setPrefSize(300,150);
        start.setOnAction(new EventHandler<ActionEvent>() {
            @Override
            public void handle(ActionEvent event) {
                gameStarted=true;
                Scene scene = new Scene(createContent());
                primaryStage.setTitle("Quiz Snake and Ladder Game");
                primaryStage.setResizable(false);
                primaryStage.setScene(scene);
                primaryStage.show();
            }
        });




        Button exit = new Button("Exit");
        exit.setTranslateX(253);
        exit.setTranslateY(540);
        exit.setPrefSize(300,150);
        exit.setOnAction(new EventHandler<ActionEvent>() {
            @Override
            public void handle(ActionEvent event) {
                System.exit(0);
            }
        });

        Image img = new Image("MenuBG.jpg");
        ImageView imageView = new ImageView();
        imageView.setImage(img);
        imageView.setFitWidth(800);
        imageView.setFitHeight(800);

        Button how = new Button("How to play");
        how.setTranslateX(253);
        how.setTranslateY(320);
        how.setPrefSize(300,150);
        how.setOnAction(new EventHandler<ActionEvent>() {
            @Override
            public void handle(ActionEvent event) {

            }
        });

        titleGroup.getChildren().addAll(imageView,start,exit,how);


        return root;

    }


    public static void main(String args[]){
        launch(args);
    }

}