首页 > 解决方案 > Pygame 无法加载 PNG 图像

问题描述

我在空闲时间制作游戏作为编码练习,但遇到了问题。我将“rock.png”和“tree.png”放在与 .py 文件相同的文件中......但我遇到了这个问题。在此之前我使用相同的方法制作了多个游戏,但我从未遇到过这个问题。

这是代码:

import pygame, sys, math, random, os

w = 900
h = 900
size = (w,h)
surface = pygame.display.set_mode(size)
pygame.display.set_caption('SkiFreeX')
clock = pygame.time.Clock()
treeImage = pygame.image.load('tree.png')
rockImage = pygame.image.load('rock.png')
skierImage = pygame.image.load('images/skierStoppedRight.png')

我得到错误:

pygame.error: Couldn't open tree.png

有任何想法吗?

标签: pythonpygame

解决方案


如果您下载 pygame 的完整源代码,这来自包含的 chimp.py 代码。

然后对于每个引用,您需要调用文件系统使用

main_dir = os.path.split(os.path.abspath(__file__))[0]
data_dir = os.path.join(main_dir, "images")

treeImage = pygame.image.load(os.path.join(main_dir, 'tree.png'))
rockImage = pygame.image.load(os.path.join(main_dir,'rock.png'))
skierImage = pygame.image.load(os.path.join(data_dir, 'skierStoppedRight.png'))

推荐阅读