Warum lädt mein Code die Karte nich richtig?

regex9  04.04.2024, 16:51

Dein Code ist nicht öffentlich freigegeben.

Stofftier16 
Beitragsersteller
 04.04.2024, 16:52

sollte jetzt funktionieren

1 Antwort

Ich arbeite momentan an einem Spiel in Java (...)

Der erste Ratschlag wäre hier, auch mit einem tatsächlich passenden Tool zu arbeiten. Für Java gibt es verschiedene Frameworks oder Bibliotheken, die im Gegensatz zu Swing für die Entwicklung von Spielen ausgerichtet sind: libGDX, FXGL, LWJGL, ... Ferner können sie das Rendering von Animationen viel besser handhaben und auch andere Funktionalitäten (rund um Input Management und Weiterem) bereits anbieten.

(...) Java zeichnet die Karte nicht richtig (...)

Du gibst einen falschen Pfad für die Karte an. Statt den Wert der Variable filePath übergibst du einen String "filePath" an getResourceAsStream.

Außerdem ist der Pfad falsch, den du an loadMap übergibst. Du musst vom Verzeichnis ausgehen, in dem die TileManager.class-Datei liegt. Also "./maps/world01.txt".

Besser wäre es allerdings, mit Maven (oder Gradle) und einem Ressourcenordner zu arbeiten. Hier habe ich schon einmal mehr dazu geschrieben.


Stofftier16 
Beitragsersteller
 04.04.2024, 17:39

Ok ich habe es zu loadMap("./maps/world01.txt"); geändert, jedoch funktioniert es noch nicht was müsste ich noch ändern?

regex9  04.04.2024, 17:51
@Stofftier16

In dem von dir geteilten Projekt sind es nur die zwei aufgeführten Fehler.

Schau nach, in welchen Ordner die class-Datei abgelegt wird. Normalerweise geht sie in den selben Ordner, wo auch die java-Datei liegt. Je IDE + Konfiguration kann es aber auch anders laufen. Des Weiteren wäre es nicht unklug, mögliche Exceptions entsprechend zu loggen.