私は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)