每当我运行此代码时,消息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()
答案 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'作为你的路径。