Rihpsalis / GhostGame

0 stars 0 forks source link

Laden von Bildern etc. #11

Closed armin-reichert closed 1 year ago

armin-reichert commented 1 year ago

Leg Deine Bilder etc. unterhalb von src/main/resources ab und verwende zum Laden nicht

grassToDirt[0] = new Image(new File("main/resources/terrain/floor/Grass_Dirt_0.png").toString(), terrainSize, terrainSize, false, false);

sondern

grassToDirt[0] = new Image( getClass().getResource("/terrain/floor/Grass_Dirt_0.png").toString(), terrainSize, terrainSize, false, false);

Beim Kompilieren/Deployment werden sie nämlich in den "classpath" (oder in ein jar File etc.) kopiert und können dann zur Laufzeit per Classloader geladen werden.

Rihpsalis commented 1 year ago

Nachdem ich alle meine Texturen so verändert hab das sie über den ResourceLoader laden: for (int i = 0; i < 4; i++) movingImagesR[i] = new Image(getClass().getResource("/player/MovingRight_" + i + ".png").toString(), playerSize, playerSize, false, false);

kriege ich nun diese Fehlermeldung da mein return value 0 ist Exception in Application start method Exception in thread "main" java.lang.RuntimeException: Exception in Application start method at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:901) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:196) at java.base/java.lang.Thread.run(Thread.java:1589) Caused by: java.lang.NullPointerException: Cannot invoke "java.net.URL.toString()" because the return value of "java.lang.Class.getResource(String)" is null at main.java.Player.<init>(Player.java:41) at main.java.App.start(App.java:51) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:847) at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:484) at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:457) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:456) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:184) ... 1 more

armin-reichert commented 1 year ago

Keine Panik. Liegen die Bilder unter src/main/resources/player/?

Rihpsalis commented 1 year ago

na klar

Rihpsalis commented 1 year ago

17