我无法将图像加载到我的 pygame 程序中

I can't load images to my pygame program

我是 pygame 的新手,正在复制一个简单的教程。我正在使用 python 3.4.2。但我 运行 遇到了几个问题。这是我的代码:

import pygame
pygame.init()
screen = pygame.display.set_mode((640,480))

class Game(object):
    def main(self,screen):
        clock = pygame.time.Clock()
        image = pygame.image.load('player.png').convert()
        image_x=320
        image_y=240

    while True:
        clock.tick(30)
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
            if event.type == pygame.KEYDOWN and event.key== pygame.K_ESCAPE:
                pygame.quit()
        image_x+=10

        screen.fill((200,200,200))
        screen.blit(image,(320,240))
        screen.blit(image,(image_x,image_y))
        pygame.display.flip()

if __name__ == '__main__':
pygame.init()
screen=pygame.display.set_mode((640,480))
Game().main(screen)

第一个问题是我收到一条错误消息,指出 "Couldn't open player.png" 我将此图像保存在与我的 .py 游戏程序相同的文件夹中。其次,当我尝试退出游戏时,pygame window 冻结并停止响应。

经过一些调试,图像文件似乎实际上在一个子文件夹中。为了加载图像,您需要通过更改此行

来提供更准确的文件路径
image = pygame.image.load('player.png').convert()

像这样:

image = pygame.image.load('subfolder' + os.sep + 'player.png').convert()

不要忘记在文件顶部添加 import os 行,以便使用 os.sep 命令,使目录分隔符跨平台。