在pygame中加载图像会导致“pygame.error”

时间:2012-02-17 23:07:25

标签: python pygame

每当我尝试运行我的pygame程序时,我试图加载一些图像,我总是得到简单的“pygame.error”而没有别的。

我已经导入了pygame以及pygame.locals。起初我认为这是因为它无法找到我的文件,但每当我将文件的名称更改为不正确的东西时,它说“无法打开图像”,所以我猜它确实找到了文件,但在尝试加载时却失败了。 startup()函数是从main运行的第一个函数。我还尝试用grass.png文件和python文件在同一目录下做一个简单的grass = pygame.image.load('grass.png')

感谢我能得到的所有帮助

.....第41行,在启动时     ambientdict = {'gräs':pygame.image.load(os.path.join('images','grass.png'))。convert_alpha(),     pygame.error

def startup():
    pygame.init()
    p1=Player.Player(int(random.random()*mapstorlek),int(random.random()*mapstorlek))
    vh=ViewHandler.ViewHandler()
    surroundingssdict = {'grass': pygame.image.load(os.path.join('images','grass.png')).convert(),
          'mount': pygame.image.load(os.path.join('images', 'mount.png').convert)()}
    playerdict={'p1': pygame.image.load(os.path.join('images','player.png')).convert()}

1 个答案:

答案 0 :(得分:0)

pygame.error通常会附带一条消息,其中包含有关出错的更多详细信息,例如您在尝试不存在的图像时获得的“无法打开的图像”。你确定没有更多信息吗?不能确定什么是错的,但我会抛出两个建议:

在加载图片之前,您是否致电pygame.display.set_mode设置显示面?你可能会在你的ViewHandler课程中这样做,但如果没有,convert()会失败,因为它改变了曲面的像素格式以匹配显示,当然,如果有的话,它当然不能做没有显示活动。

另一种可能性是你在pygame中没有完整的图像支持而且无法加载.png。你试过加载其他格式吗?尝试调用pygame.image.get_extended()以查看您的pygame是否使用扩展图像支持构建。即使它返回True也无法保证你可以加载.png,但至少它更可能是其他东西。