2014-02-16 4 views
0

Я пытаюсь понять, почему, когда я создаю экземпляры своего класса Picture, файл не загружается. Я поместил файл cartizzle.png в том же каталоге, но я получаю сообщение об ошибке сказав: Ошибка: Не удалось открыть cartizzle.pngПроблемы с загрузкой изображения в pygame

class Picture():  

    def __init__(self, location, filename): 
     self.x = location[0] 
     self.y = location[1] 
     self.filename = filename 

    def draw(self): 
     pygame.init() 
     surface_sz = 500 
     main_surface = pygame.display.set_mode((surface_sz, surface_sz)) 

    while True: 
     ev = pygame.event.poll() 
     if ev.type == pygame.QUIT: 
      break 
     elif ev.type == pygame.KEYDOWN and ev.key == pygame.K_q: 
      break   
     main_surface.fill((0,200,255)) 
     main_surface.blit(self.filename, (self.x, self.y))    
     pygame.display.flip() 
    pygame.quit() 

pic_inst = Picture((150,200), pygame.image.load("cartizzle.png")) 
pic_inst.draw() 

ответ

0

Вы должны захотеть, «истинно, тогда как» в жеребьевке функцию() ,

class Picture(): 

def __init__(self, location, filename): 
    self.x = location[0] 
    self.y = location[1] 
    self.filename = filename 

def draw(self): 
    pygame.init() 
    surface_sz = 500 
    main_surface = pygame.display.set_mode((surface_sz, surface_sz)) 

    while True: 
     ev = pygame.event.poll() 
     if ev.type == pygame.QUIT: 
      break 
     elif ev.type == pygame.KEYDOWN and ev.key == pygame.K_q: 
      break 
     main_surface.fill((0,200,255)) 
     main_surface.blit(self.filename, (self.x, self.y)) 
     pygame.display.flip() 
    pygame.quit() 

pic_inst = Picture((150,200), pygame.image.load("cartizzle.png")) 
pic_inst.draw() 

Это заставит его работать. Это заставило меня работать, я получил сообщение об ошибке при попытке запустить ваш код.

Смежные вопросы