1

每当我运行此代码时,都会出现消息 pygame.error: Couldn't open 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()
4

3 回答 3

1

您是否在 Unix 操作系统中运行此代码?如果是这样,您需要更改工作目录以运行此 file.py!在终端中使用cd命令键入保存文件的目录!然后用相同的路径运行python ,就可以正常工作了!

于 2016-08-04T10:43:52.740 回答
1

使用 print os.getwd() 作为脚本/py 程序的第一行来查看您实际从哪个文件夹开始。如果您的图像恰好位于主文件夹的子目录中(恰好没有出现在 os.getwd() 的输出中),请确保将其包含在您的图像路径中,而不是只写 'ship. bmp' 加载图像时,您将 'subdirectory/ship.bmp' 作为路径。

于 2017-09-24T15:48:25.403 回答
0

我试过你的代码,效果很好。看到图像在根目录中。这是您保存此脚本/py 文件的同一个文件夹。另一个原因可能是您的文件名中有隐藏字符。这在我身上发生了好几次。尝试重命名功能,删除整个名称,包括文件扩展名,并用相同的分机重命名文件,全新的。

于 2016-04-25T05:34:45.610 回答