Pyglet Bilder laden

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
123gro
User
Beiträge: 23
Registriert: Donnerstag 23. Januar 2014, 18:50

Hi
ich lerne grade pyglet und in tutorials zum bsp. dem hier:
http://steveasleep.com/pyglettutorial.html#intro
werden oft bilder geladen (mit recources oder so)
ich hab alles eigentlich so getan wie ich es verstanden hab - trotzdem kam die fehlermeldung: :(

Code: Alles auswählen

Traceback (most recent call last):
  File "/home/georg/Desktop/Pyglet-Python2.7/Game1/Version1/asteroids.py", line 7, in <module>
    player_image = pyglet.resource.image("player.png")
  File "/usr/lib/pymodules/python2.7/pyglet/resource.py", line 492, in image
    identity = self._cached_images[name] = self._alloc_image(name)
  File "/usr/lib/pymodules/python2.7/pyglet/resource.py", line 436, in _alloc_image
    file = self.file(name)
  File "/usr/lib/pymodules/python2.7/pyglet/resource.py", line 394, in file
    raise ResourceNotFoundException(name)
ResourceNotFoundException: Resource "player.png" was not found on the path.  Ensure that the filename has the correct captialisation.
achso...
diesen code hab ich ausgeführt:

Code: Alles auswählen

import pyglet

game_window = pyglet.window.Window(800, 600)

pyglet.resource.path = ['../resources']
pyglet.resource.reindex()
player_image = pyglet.resource.image("player.png")
bullet_image = pyglet.resource.image("bullet.png")
asteroid_image = pyglet.resource.image("asteroid.png")

def center_image(image):
 
    """Sets an image's anchor point to its center"""
    image.anchor_x = image.width/2
    image.anchor_y = image.height/2 

center_image(player_image)
center_image(bullet_image)
center_image(asteroid_image)


if __name__ == '__main__':
    pyglet.app.run()



die verzeichnisse waren:

Game1/
-------------recources/
----------------------------[ 3 bilder ]
--------------Version1/
--------------------------- game/
-------------------------------------__init__.py[leer]
----------------------------asteroids.py
Georg :)
BlackJack

@123gro: Die Meldung ist ja eigentlich relativ deutlich. Wenn man nur reine Dateinamen angibt, dann muss man das Programm natürlich so starten das diese Dateien im aktuellen Arbeitspfad des Prozesses liegen. `pyglet` fängt nicht an automagisch auf der Festplatte danach zu suchen.
123gro
User
Beiträge: 23
Registriert: Donnerstag 23. Januar 2014, 18:50

was muss ich also tun?
und was sind reine dateinamen?
aber danke für die schnelle antwort :)
Georg :)
BlackJack

@123gro: Ups, als ich die Antwort schrieb war der Beispielquelltext noch nicht da. Also muss das 'ressources' Verzeichnis offenbar über dem aktuellen Arbeitsverzeichnis sein.
123gro
User
Beiträge: 23
Registriert: Donnerstag 23. Januar 2014, 18:50

habs glaub ich sogar schon hingekriegt...
habe es jetzt so gemacht
pyglet.resource.path = ['/home/georg/Desktop/Pyglet-Python2.7/Game1/resources']
Georg :)
123gro
User
Beiträge: 23
Registriert: Donnerstag 23. Januar 2014, 18:50

ich glaub es ging trozdem oft nur ab und zu
könntest du mir evtl. ein standart muster schicken wie man in pyglet bilder lädt
? :roll:
Georg :)
Antworten