调整大小后,Python Cocos2d无法找到资源图像

时间:2018-06-19 12:37:41

标签: python python-3.x cocos2d-python

我正在尝试在Python中调整图像大小,然后使用调整后的图像加载cocos2d子画面。但是,尝试初始化cocos2d子画面会导致找不到资源的错误。重现此问题的示例代码:

from pathlib import Path
import cocos
from PIL import Image

im = Image.open("in.jpg")
im.thumbnail((600, 900))
im.save("out.jpg", "JPEG")
im.close()

file = Path("out.jpg")
if file.is_file():
    print("File exists")

sprite = cocos.sprite.Sprite("out.jpg")

这会导致错误 pyglet.resource.ResourceNotFoundException: Resource "out.jpg" was not found on the path. Ensure that the filename has the correct captialisation.

但是,输出为:

File exists

第二次运行它不会产生错误,因为在上一次运行中创建了out.jpg。删除out.jpg并再次运行会产生错误。

添加im.close()不能解决问题。

该操作系统是Windows 10和Python 3.6.4版。

1 个答案:

答案 0 :(得分:0)

原来是pyglet中用于加载资源的方法。我不得不重新索引图像。动态添加的图像目录中的文件以及pyglet会创建现有图像的索引。有关答案,请参见https://stackoverflow.com/a/16438410/6350693