2011-06-30 17 views
7

estoy usando Python 2.6.6 y 1.1.4 Pyglet. En mi carpeta "Erosion", tengo "Erosion.py" y una carpeta llamada "Imágenes". Dentro de las imágenes, hay imágenes .png. Una imagen se llama "Guard.png".de Recursos No se ha encontrado Excepción en Pyglet

En "Erosion.py" Hay un segmento que va de este modo:

pyglet.resource.path = ['Images'] 
pyglet.resource.reindex() 
self.image = pyglet.resource.image('%s%s' % (character, '.png')) 

Cuando ejecuto esto, se me da

File "C:\Python26\lib\site-packages\pyglet\resource.py", line 394, in file raise ResourceNotFoundException(name) 
ResourceNotFoundException: Resource "Guard.png" was not found on the path. Ensure that the filename has the correct captialisation. 

He intentado cambiar la ruta a ['./Images'] y ['../Images']. También intenté eliminar la ruta y la llamada a reindexar y poner Erosion.py y Guard.png en la misma carpeta.

Respuesta

0

tratar this

pyglet.image.load('path/to/image.png') 
+0

http://www.pyglet.org/doc/programming_guide/playing_sounds_and_music.html más sobre la carga de recursos –

0

me sale un problema como este usando Pyglet y pyscripter. (El editor de texto) Para que el archivo que se encuentran tengo que reiniciar el editor antes de ejecutar el programa.

Esto podría ser un problema con pyscripter sin embargo.

+0

si pyglet no permite especificar la ruta de acceso completa directamente, es un problema en pyglet. –

2

Esto es lo que hago para poder cargar los recursos:

pyglet.resource.path = ['C:\\Users\\myname\\Downloads\\temp'] 
pyglet.resource.reindex() 

pic = pyglet.resource.image('1.jpg') 

texture = pic.get_texture() 
gl.glTexParameteri(gl.GL_TEXTURE_2D, gl.GL_TEXTURE_MAG_FILTER, gl.GL_NEAREST) 

texture.width = 960 
texture.height = 720 

texture.blit(0, 0, 0) 
+0

Es decir, si realmente necesita el controlador de recursos para ello. Lo uso porque me da algunos parámetros adicionales más para trabajar con facilidad y rapidez a través de la biblioteca GL. – Torxed

+0

Esto es terrible. Cuando llamo "reindex()" mi computadora parece indexar TODO, y toma minutos. –

+0

@BerryTsakala Está diseñado para indexar todo en las carpetas debajo del parche que le diste. Así que no coloque su script en '\ Downloads \' e index desde allí, en su lugar use una carpeta específica para su proyecto. – Torxed

1

Si la ruta relativa no está funcionando se puede tratar con la ruta absoluta utilizando el módulo os.

import pyglet 
import os 

working_dir = os.path.dirname(os.path.realpath(__file__)) 
pyglet.resource.path = [os.path.join(working_dir,'Images')] 
pyglet.resource.reindex() 

image = pyglet.resource.image('character.png')) 

Es mejor utilizar el método os.path.join en lugar de escribir como una cadena para un mejor soporte multiplataforma.

Cuestiones relacionadas