2017-10-31 1 views
0

So habe ich alles für meine Spiele in Ordnern organisiert und wenn ich versuche, eine Grafik aufzurufen, kann es nicht finden, weil das Programm den Pfad zu dem Ordner nicht finden kann. Ich habe versucht, ihm zu sagen, dass es ein Dictionary zurückgehen soll, aber es funktioniert nicht und zeigt nur C: \ Benutzer \ ME \ Dokumente \ Programme und Spiele \ PygameRPG \ Scripts \ Database.py .. \ Graphics \ Sprites | " Player.png "Existiert nicht und ich habe überall im Internet gesucht und es gibt nicht eine Sache, die ich finden kann, die mir hilft.Pygames Pfad zum Spiel Ordner

Antwort

0

So laden Sie ein Bild in Pygame.

Sie müssen einen vollständigen Dateipfad verwenden, wenn Sie sich nicht im selben Verzeichnis oder höher in der Verzeichnishierarchie befinden.

Hoffe das beantworten Ihre Frage! Wenn Sie weitere Fragen haben, kommentieren Sie bitte unten!

+0

Also kann das Verzeichnis nicht nur auf die Dateitränke setzen und dann sagen, dass es zurückgehen soll? Auch ich benutze os sowie –

+0

Siehe die Antwort oben versucht, dieses "Zurückgehen" Geschäft auf eine hacky, unkonventionelle Weise zu tun. Sie verwenden entweder absolute Pfade (meine Lösung) oder organisieren Ihre Ordner, so dass Sie den relativen Pfad verwenden können. Ein relativer Pfad Wochen sein "IMG.png" oder "resources/data/IMG.jpg". Die Dateien befinden sich entweder im Arbeitsverzeichnis des Skripts oder in einem Ordner. Mein Punkt ist, dass Pfade nicht wie Terminalbefehle sind, wo man ihnen sagen kann, dass sie zurückgehen sollen. –

1

Das ist nicht sehr pythonic ist, aber ...

Versuchen Sie den Pfad Ihrer Spiel-Datei bekommen, zum Beispiel C:\Users\ME\Documents\Programs and Games\PygameRPG\main.py und den Pfad in eine Zeichenfolge umwandeln ('C:\Users\ME\Documents\Programs and Games\PygameRPG\main.py').

Nehmen Sie diese Zeichenfolge entfernen Sie die main.py Teil, etwa so: path_str = path_str[:-7]. Es sollte eine Ebene höher sein: 'C:\Users\ME\Documents\Programs and Games\PygameRPG'. Fügen Sie dann den neuen Teil des Pfades hinzu. path_str += '\Scripts\Database\Graphics\Sprites\Player.png' Verwenden Sie diesen Pfad, um auf player.png zuzugreifen.