pygame.error:无法打开image.bmp

时间:2016-04-24 23:34:51

标签: python pygame loading-image

每当我运行此代码时,消息pygame.error:无法打开ship.bmp出现。我将文件ship.bmp保存在与我的代码相同的位置。我将不胜感激任何帮助。

import sys
import pygame

pygame.init()

screen_width = 800
screen_height = 600
screen = pygame.display.set_mode((screen_width,screen_height))
bg_color = (0, 13, 114)
pygame.display.set_caption('space invaders')

shipImg = pygame.image.load("ship.bmp")

def ship(x,y):
    screen.blit(shipImg, (x,y))

x = (screen_width * 0.45)
y = (screen_height * 0.8)

crashed = False
while not crashed:

    #keyboard events
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            crashed = True
    screen.fill(bg_color)
    ship(x,y)
    pygame.display.flip()
pygame.quit()
quit()

3 个答案:

答案 0 :(得分:0)

我尝试了你的代码并且运行正常。看到图像在ROOT DIRECTORY中。这是保存此脚本/ py文件的文件夹。另一个原因可能是文件名中有隐藏的字符。这发生在我身上好几次。尝试重命名功能,删除整个名称,包括文件扩展名,并使用相同的ext,全新重命名该文件。

答案 1 :(得分:0)

你在Unix OS中运行这段代码吗?如果是这样,您需要更改工作目录以运行此file.py!在终端类型中使用 cd 命令到保存文件的目录!然后使用相同的路径运行 python ,并且工作正常!

答案 2 :(得分:0)

使用print os.getwd()作为脚本/ py程序的第一行,以查看您实际从哪个文件夹开始。如果您的图像恰好位于主文件夹的子目录中(不会出现在os.getwd()的输出中),请确保将其包含在图像路径中,以便不要只写入“发送”。 bmp'在加载图片时,你会写'subirectory / ship.bmp'作为你的路径。