如何解决协助开发迷你游戏
我是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个其他正在运行应用程序控制器的异常
我的代码如下:
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 举报,一经查实,本站将立刻删除。