gpt4 book ai didi

python - 无法在 pygame 中打开 .png 文件

转载 作者:行者123 更新时间:2023-11-30 23:17:41 24 4
gpt4 key购买 nike

我用 powerups 制作了一个乒乓球游戏,它可以在 Windows 中运行,但在 Linux 中,它给我错误“无法打开 paddle.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 中为 Python 程序打开 .png 文件。

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

它们也位于同一目录中。

我也尝试过将其制作为 paddle.jpg 和其他几种格式,没有骰子。

我的错误:

[hunter@localhost ~]$ su -
Password:
Last login: Sun Nov 30 16:56:52 EST 2014 on pts/0
[root@localhost ~]# python /home/hunter/Documents/realprojects/superpong/Super-Pong.py
Traceback (most recent call last):
File "/home/hunter/Documents/realprojects/superpong/Super-Pong.py", line 16, in <module>
playerOne = pygame.image.load("paddle.png")
pygame.error: Couldn't open paddle.png
[root@localhost ~]#

最佳答案

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

要更改 Pygame 查找图像的位置,您需要执行以下三件事之一:

  • 将当前工作目录 ( cd ) 更改为包含 paddle.png 的目录运行之前Super-Pong.py 。当您双击 Python 程序时,Windows 版 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 - 呢?游戏不需要以 super 用户身份运行。)

关于python - 无法在 pygame 中打开 .png 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27218125/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com