python - 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
有任何想法吗?
解决方案
如果您下载 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'))
推荐阅读
- jersey-2.0 - 在 Gradle 中使用带有 Open Liberty 的 Jersey
- swift - 有人可以简单地解释一下 Swift 的应用程序二进制稳定性吗?
- javascript - 如何停止在同一对象上触发“点击”事件
- ios - 两个对象没有相互接触,但是contactTestBetween()返回结果
- geolocation - 没有 wifi 或 gps 的设备跟踪
- java - 实现hashcode和equal的职责
- css - 导航没有一路覆盖
- haskell - 使用给定索引处的元素更新列表
- amazon-cloudformation - AWS-SAM 模板是否支持生命周期配置设置?
- c# - 如何使用 Entity Framework Core 对多个表执行原始联合 SQL 查询