0

Can someone help me identify where I went wrong? Thanks. I get: pygame.error: Couldn't open space.png. My code is as follows:

import random, math, pygame
from pygame.locals import *
pygame.init()
screen = pygame.display.set_mode((800,600))
pygame.display.set_caption("orbit demo") 

space = pygame.image.load("space.png").convert()


while True:
    for event in pygame.event.get():
        if event.type == QUIT:
            sys.exit()

    keys = pygame.key.get_pressed()
    if keys[K_ESCAPE]:
        sys.exit()

    #draw backgroud
    screen.blit(space, (0,0))
    pygame.display.flip()            
4

3 回答 3

1

您可能必须执行以下操作:

import pygame
import os

try:
    # load from subfolder 'data' 
    background = pygame.image.load(os.path.join("data","background640x480_a.jpg"))
    ball = pygame.image.load(os.path.join("data","snake.gif"))
except:
    raise UserWarning, "Unable to find the images in the folder 'data' :-( "  

这是从 Python Game Book 网站获得的。基本上你告诉它在哪里看(在上面的代码中,它是数据文件夹。如果找不到它,它会报告用户警告。

因此,在我为游戏编写的示例中,我有一个图像文件夹,所以我这样做了

self.image = background = pygame.image.load(os.path.join("images","starship.png")).convert()

我是这方面的新手,但阅读表明这就是你的做法。

编辑 - 另一个原因可能是。它是正确的格式(例如 png)还是您将文件命名为其他名称?

于 2013-03-20T16:52:18.007 回答
0

尝试指定图像的完整路径,例如:C:/Python34/your_folder/file_name.png

注意:在你的python代码中引用路径不能使用“\”,必须使用“/”,“\”在python中有特定的含义。

于 2015-01-11T19:38:28.977 回答
0

对我来说,答案是我没有从包含游戏文件的文件夹中运行命令。我的.py文件和.png文件都在顶层,所以我cd进入并运行并且它工作。

于 2018-06-29T15:41:42.507 回答