协助开发迷你游戏

问题描述

我是Java新手,需要帮助,我正在运行一个简单的代码,但是我收到此错误消息,并且由于我未使用fxml,以前类似问题的答案与我的问题无关。感谢您的协助。

java.lang.reflect.InvocationTargetException在 java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本机 方法) java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 java.base / jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.base / java.lang.reflect.Method.invoke(Method.java:567)在 javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:464) 在 javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363) 在 java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本机 方法) java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 java.base / jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.base / java.lang.reflect.Method.invoke(Method.java:567)在 java.base / sun.launcher.LauncherHelper $ FXHelper.main(LauncherHelper.java:1051) 由以下原因引起:java.lang.RuntimeException:应用程序启动中的异常 方法 javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:900) 在 javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195) 在java.base / java.lang.Thread.run(Thread.java:830)造成原因: java.lang.NullPointerException在 Controller.start(Controller.java:11)​​位于 javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846) 在 javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455) 在 javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428) 在 java.base / java.security.AccessController.doPrivileged(AccessController.java:391) 在 javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427) 在 javafx.graphics/com.sun.glass.ui.invokelaterdispatcher$Future.run(invokelaterdispatcher.java:96) 在 javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(本机 方法) javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174) ... 1个其他正在运行应用程序控制器的异常

退出代码1完成的过程

我的代码如下:

public class Controller extends Application {

    AsteroidsApp asteroidsApp;
    @Override
    public void start(Stage stage) {
        stage.setScene(new Scene(asteroidsApp.createContent()));
        stage.getScene().setonKeypressed(e -> {
            if (e.getCode() == KeyCode.LEFT) {
                asteroidsApp.player.rotateLeft();
            } else if (e.getCode() == KeyCode.RIGHT) {
                asteroidsApp.player.rotateRight();
            } else if (e.getCode() == KeyCode.SPACE) {
                asteroidsApp.bulletSetVeLocity();
                asteroidsApp.addBullet(asteroidsApp.bullet,asteroidsApp.player.getView().getTranslateX(),asteroidsApp.player.getView().getTranslateY());
            }
        });
        stage.show();
    }

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

public Parent createContent() {
    root = new Pane();
    root.setPrefSize(600,600);

    player = new Player();
    player.setVeLocity(new Point2D(1,0));
    addGameObject(player,300,300);

    AnimationTimer timer = new AnimationTimer() {
        @Override
        public void handle(long Now) {
            onUpdate();
        }
    };
    timer.start();

    return root;
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)