Я новичок в pygame и пытаюсь создать простую программу, которая позволяет мне перемещать изображение по экрану с помощью клавиатуры. Я получаю ошибку в заголовке при попытке получить изображение на экране с помощью метода внешнего вида. У меня есть рабочая версия, которую я написал без использования классов, но хотел бы понять классы, чтобы я мог реализовать их в будущем.TypeError: аргумент 1 должен быть pygame.Surface, а не метод
Вот мой код:
import pygame, sys
from pygame.locals import *
pygame.init()
FPS = 30
fpsClock = pygame.time.Clock()
DISPLAYSURF = pygame.display.set_mode((600, 500), 0, 32)
pygame.display.set_caption('Animation')
class Hero():
def __init__(self):
posx = 10
posy = 10
def appearance():
return pygame.image.load('C:\\Users\\admin\\Desktop\\right.png')
def move_right(x):
posx += 10
def move_left(x):
posx -= 10
def move_up(y):
posy -= 10
def move_down(y):
posy += 10
new_hero = Hero() #create a Hero
while True:
item = new_hero.appearance
DISPLAYSURF.blit(item, (posx, posy)) #error
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
pygame.display.update()
fpsClock.tick(FPS)