无法在pygam中打开.png文件

2024-10-01 09:34:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我做了一个带电源的乒乓游戏,它在windows下运行,但在linux下,它给我的错误是“无法打开”桨.png". 在

同样,它可以在Windows下工作,但不能在Linux下工作。在

代码示例:--表示代码的一部分,而不是整个代码

import pygame, sys, time
from random import *

pygame.init()

disw = 640
dish = 480
black = (  0,  0,  0)
white = (255,255,255)
green = (  0,255,  0)

gameDisplay = pygame.display.set_mode((disw, dish))
pygame.display.set_caption("Super-Pong", "S-P")
Clock = pygame.time.Clock()

playerOne = pygame.image.load("paddle.png")
playerOneX = 50
playerOneY = 180

playerTwo = pygame.image.load("paddle.png")
playerTwoX = 590
playerTwoY = 180

问题:无法在linux for python程序中打开.png文件。在

尝试过:在Windows下运行,在Windows下工作。在

它们也在同一个目录中。在

我也试过做桨.jpg还有一些其他的格式,没有骰子。在

我的错误:

^{pr2}$

Tags: 代码imageimporttimepnglinuxwindows错误
2条回答

当您告诉Python库中的函数加载具有相对路径的文件时,例如"paddle.png",它将查找当前工作目录(CWD)。如果在CWD是用户root的主目录时启动Python程序,Pygame将在用户root的主目录中查找图像文件,除非另有指定。在

要更改Pygame查找图像的位置,需要执行以下三项操作之一:

  • 在运行Super-Pong.py之前,将当前工作目录(cd)更改为包含paddle.png的目录。pythonforwindows在双击Python程序时会自动执行此操作,这就是它在Windows中工作的原因。在
  • 在程序中,将当前工作目录更改为包含paddle.png的目录,该目录可能与包含程序(Super-Pong.py)的目录相同。程序的路径以sys.argv[0]的形式传递,因此请尝试以下操作:os.chdir(os.path.dirname(__file__))
  • 在程序中,添加文件的路径。同样,假设paddle.png在同一个文件夹中,请尝试以下操作:playerOne = pygame.image.load(os.path.join(os.path.dirname(__file__), "paddle.png"))

(为什么su -?游戏不应该以超级用户的身份运行。)

我知道我有点晚了,但是对于那些今天仍然遇到这个问题的人来说,试着在你的图像名称中添加一个数字(例如padle1.png)。我知道这看起来很奇怪,但它确实为我修复了某些原因,它可能不会为你修复它。。。在

相关问题 更多 >