pygame: класс sprite действует как класс объекта - PullRequest
0 голосов
/ 31 декабря 2018

Я относительный новичок в Pygame.У меня тут небольшая проблема.Я искал документацию, но не могу понять, почему я получаю эту ошибку.

AttributeError: у объекта 'Knight' нет атрибута 'rect'

class Knight(pg.sprite.Sprite):

    def __init__(self, x, y):
        pg.sprite.Sprite.__init__(self)

        self.image = pg.image.load("image\\knight.png").convert()

        self.rect = self.rect.get_rect()
        self.rect.x = x
        self.rect.y = y

Здесь я вызываю класс.

allSprites = pg.sprite.Group()
player = Knight(0, 0)
allSprites.add(player)

run = True
while run:


    for event in pg.event.get():

        if event.type == pg.QUIT:
            run = False

        keys = pg.key.get_pressed()


    """ Updating all sprites and the window """
    allSprites.update()
    allSprites.draw()

Мой вопрос: почему Pygameдумает, что мой класс - это объект, а не класс спрайта?

1 Ответ

0 голосов
/ 31 декабря 2018

Erik77, я не знаю pygame, но ты уверен, что это правильно?

self.rect = self.rect.get_rect()

Имеет ли класс Sprite свойство «реагировать»?

...