0

我是编程新手,只是按照在线提供的步骤在 pygame 中制作一个小游戏来学习。

我最近想添加图像时遇到问题。

这是我的代码。

    #sprite
from turtle import Screen
import pygame
import random
import os 

WIDTH=500
HEIGHT=600
#遊戲初始化 and 創建視窗
pygame.init()
screen=pygame.display.set_mode((WIDTH,HEIGHT))
pygame.display.set_caption("spacegame")
background_img=pygame.image.load(os.path.join("img","background.png")).convert()
screen.blit(background_img,(0,0))

当我运行它时,麻烦就来了,他们说:

    Traceback (most recent call last):
  File "d:\python\test.py", line 13, in <module>
    background_img=pygame.image.load(os.path.join("img","background.png")).convert()
FileNotFoundError: No file 'img\background.png' found in working directory 'D:\img'.
PS D:\img>
4

2 回答 2

1

将文件放在同一目录或子目录中是不够的。您还需要设置工作目录。文件路径必须相对于当前工作目录。工作目录可能与 python 脚本的目录不同。
可以使用 检索文件的名称和路径__file__。当前工作目录可以通过os.getcwd()并且可以用os.chdir(path).
将以下内容放在代码的开头以将工作目录设置为与脚本的目录相同:

import os

os.chdir(os.path.dirname(os.path.abspath(__file__)))
于 2022-01-27T06:01:11.737 回答
1

您已经在“img”目录中。

因此,您可以使用以下行来获取图像:

background_img=pygame.image.load("background.png").convert()
于 2022-01-27T03:58:52.367 回答