pygame.error:无法打开car.png

时间:2017-09-12 18:33:33

标签: python file-upload pygame

嗯,这是我用Pygame编写的第一个程序。在打开这个线程之前,我读了两个其他线程没有任何正面结果。我几乎复制了一个程序来解决这个问题而没有成功。这是我的代码:

import pygame
pygame.init()
display_width = 800
display_height = 600
black = (0,0,0)
white = (255,255,255)
red = (255,0,0)

gameDisplay = pygame.display.set_mode((display_width,display_height))
pygame.display.set_caption("Game")
clock = pygame.time.Clock()
car = pygame.image.load('car.png')
def car(x,y):
    gameDisplay.blit(car,(x,y))
x = (display_width * 0.45)
y = (display_height * 0.8)
crashed = False
while not crashed:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            crashed = True
    gameDisplay.fill(blue)
    car(x,y)
    pygame.display.update()
    clock.tick(24)
pygame.quit()
quit()

我认为目录可能存在问题,但我不这么认为。我在桌面上创建了一个名为“Nuova Cartella”的文件夹( italian 中的新文件夹,我用italic ahah写了它),我放了两个文件,第一个是我的程序只是发布在这里,第二个是“car.png”,这是我想在pygame中加载的图像,当然。 对不起我的英语,我尽了最大努力。

1 个答案:

答案 0 :(得分:1)

代码中的一些错误。最重要的一个是@PRMoureu注意到的。您的定义称为car,图像的变量也称为car。由于您首先创建了图像变量,然后创建了一个与删除图像相同名称的函数,并将其替换为该函数。只需将 'car' 更改为 'carImage' 或与函数名称不同的内容。你也用蓝色填充屏幕,如果你回头看,你实际上还没有定义。调试这些错误后。这是代码:

import pygame
from pygame.locals import *
pygame.init()
display_width = 800
display_height = 600
black = (0,0,0)
white = (255,255,255)
red = (255,0,0)

gameDisplay = pygame.display.set_mode((display_width,display_height))
pygame.display.set_caption("Game")
clock = pygame.time.Clock()
carImage = pygame.image.load('car.png')
def car(x,y):
    gameDisplay.blit(carImage,(x,y))
x = (display_width * 0.45)
y = (display_height * 0.8)
crashed = False
while not crashed:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            crashed = True
    gameDisplay.fill(white)
    car(x,y)
    pygame.display.update()
    clock.tick(24)
pygame.quit()
quit()

但不要试试吧! 从标题看来你的错误是“无法打开car.png” 但是我描述的代码中的问题应该会产生不同的错误。我觉得非常奇怪,唯一的解释(考虑到目录很好,python有权访问图像)是你的文件扩展名不是png文件,但可能是jpg或其他东西。

如果这是真的,那么复制我上面的代码但改变

中的'.png'
carImage = pygame.image.load('car.png')

正确扩展您的图片。应该这样做。

如果这一切都不起作用,那么我担心这是我能想到的所有帮助。也许更多细节可能有所帮助。

我希望无论如何这证明是有帮助的。它确实与我合作,所以...祝你好运!