Получил ошибку с pygame и обновлением метода - PullRequest
0 голосов
/ 21 апреля 2020

Я начинаю кодировать и слежу за серией видео, чтобы создать игру с pygame. Однако, даже когда я следовал всему, что сказал парень в видео, и после многократной проверки моего и его кода, я получил эту ошибку: Файл "C: / Users / sdf / PycharmProjects / pygame1 / pygametutorial 2 / tutorail 1 template.py ", строка 43, в all_sprites.update () TypeError: update () отсутствует 1 обязательный позиционный аргумент: 'self'

это код, который я запрограммировал так далеко:

import pygame
import random

import sprites as sprites

height = 360
width = 480
FPS = 30

White = (255, 255, 255)
black = (0, 0, 0)
red = (255, 0, 0)
green = (0, 255, 0)
blue = (0, 0, 255)

pygame.init()
pygame.mixer.init()
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption("Tutorial")
clock = pygame.time.Clock()


class Player(pygame.sprite.Sprite):
    def __init__(self):
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.Surface((50, 50))
        self.image.fill(green)
        self.rect = self.image.get_rect()
        self.rect.center = (height / 2, width / 2)


all_sprites = pygame.sprite.Group
player = Player()
all_sprites.add(player)

run = True
while run:
    clock.tick(FPS)
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False

    all_sprites.update()
    screen.fill(black)
    sprites.draw(screen)
    # after every drawing flip the display
    pygame.display.flip()

1 Ответ

0 голосов
/ 21 апреля 2020

Я не уверен, что такое import sprites as sprites, это другой файл, который вы сделали? Это означает, что import pygame.sprite.Sprite as sprite?

all_sprites = pygame.sprite.Group

Group - это класс, поэтому вам нужны скобки

all_sprites = pygame.sprite.Group()

, теперь вы вызываете его, а all_sprites - объект группы, не ссылаясь на класс

, теперь я изменил sprites.draw(screen) на all_sprites.draw(screen), поскольку не имею sprites, и не уверен, что это такое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...