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

时间:2015-03-17 16:12:37

标签: python pygame

我是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)

第一个问题是我收到错误声明"无法打开player.png"我将此图像保存在与.py游戏程序相同的文件夹中。其次,当我尝试退出游戏时,pygame窗口冻结并停止响应。

1 个答案:

答案 0 :(得分:1)

经过一些调试后,图像文件实际上是在子文件夹中。要加载图片,您需要通过更改此行来提供更准确的文件路径

image = pygame.image.load('player.png').convert()
像这样:

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

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