我是Python的新手,紧跟在线教程之后,使AI学会玩飞扬的小鸟。我的问题是我似乎无法使用以下语法加载保存在文件夹中的游戏图像:
BIRD_IMGS =
[pygame.transform.scale2x(pygame.image.load(os.path.join("imgs","bird1.png"))),
pygame.transform.scale2x(pygame.image.load(os.path.join("imgs","bird2.png"))),
pygame.transform.scale2x(pygame.image.load(os.path.join("imgs","bird3.png")))]
我得到的错误如下:
pygame.error:无法打开imgs \ bird1.png
我的路径是:
C:\Users\Admin\Documents\Web Development\Python\Flappy_Bird_AI\master.py
C:\Users\Admin\Documents\Web Development\Python\Flappy_Bird_AI\imgs\bird1.png
分别用于代码和图像。
有人知道我为什么会收到此错误吗?
答案 0 :(得分:3)
您可能正在与具有映像的工作目录不同的工作目录中运行脚本。
您可以执行以下操作以在脚本中动态获取绝对路径
DIR = os.path.dirname(os.path.realpath(__file__))
IMGS_DIR = os.path.join(DIR, "imgs")
BIRD_IMGS = [pygame.transform.scale2x(pygame.image.load(os.path.join(IMGS_DIR,"bird1.png"))),
pygame.transform.scale2x(pygame.image.load(os.path.join(IMGS_DIR,"bird2.png"))),
pygame.transform.scale2x(pygame.image.load(os.path.join(IMGS_DIR,"bird3.png")))]