2015-03-17 4 views
0

Я новичок в pygame и копировал простой учебник. Я использую python 3.4.2. но я сталкиваюсь с несколькими проблемами. Вот мой код:Я не могу загрузить изображения в мою программу pygame

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 зависает и перестает отвечать.

+0

Если вы выполняете 'pygame.image.get_extended()', что он возвращает? – jgritty

+0

где я помещаю это в скрипт? –

+0

Создайте новый скрипт с двумя строками: 'import pygame' 2-я строка:' pygame.image.get_extended() ' – jgritty

ответ

1

Кажется, после небольшой отладки, что файл изображения был фактически в подпапке. Для того, чтобы загрузить изображение, вам необходимо обеспечить более точный путь к файлу, изменив эту строку

image = pygame.image.load('player.png').convert() 

как так:

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

Не забудьте добавить import os линию в верхней части вашего файла, чтобы использовать команду os.sep, что делает перегородки каталогов кросс-платформой.