有没有一种方法可以使用“pygame.image.load”在 Pygame 中传递参数,而源文件夹不必位于 C 驱动器中,或者脚本和图像必须位于 C 驱动器中?
我已经尝试了很多不同的事情,并且花了这个周末的大部分时间来弄清楚。我搜索了其他 stackoverflow 问答,但一无所获。
我试过用“os.path.join”、“os.path.normpath”之类的,还是没弄明白。
代码如下:
import os, pygame
load_image = pygame.image.load(os.path.join('\\test', 'energy.png'))
只要“test”文件夹位于 C:\,它就可以正常工作,但是一旦我将它移动到任何其他位置,我就会得到 ol'pygame.error: Couldn't open\test\energy .png 错误。
基本上我要问的是:有没有办法让 Pygame 脚本(特别是 pygame.image.load 代码)在没有文件夹、脚本和图像都位于 C:\的情况下工作?
最后我想为我正在开发的游戏制作一个 cx_freeze 应用程序,我希望用户能够将文件夹放在他想要的任何位置。
我在 Windows 7 笔记本电脑上使用 Python 3.3。谢谢。
最佳答案
假设你的 python 脚本在
f:/bar/game.py
你有energy.png
在
f:/bar/images/energy.png
game.py
然后会使用
path = os.path.join("images", "energy.png")
energy = pygame.image.load(path)
关于 python 3.3 : Unable to load an image using Pygame if game folder is not in C drive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19626343/