Warum lädt mein Code die Karte nich richtig?
Ich arbeite momentan an einem Spiel in Java und bin in ein Problem gelaufen. Java zeichnet die Karte nicht richtig. Wenn ich versuche das Spiel zu öffnen ist alles nur Gras. Kann mir jemand helfen das Problem zu finden?
Der Code: https://drive.google.com/drive/folders/1jC2fl9ddRNYtATqSG9INqYWj7jbKccPN?usp=drive_link
Dein Code ist nicht öffentlich freigegeben.
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.
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.
Ok ich habe es zu loadMap("./maps/world01.txt"); geändert, jedoch funktioniert es noch nicht was müsste ich noch ändern?