Я делаю простой платформер, используя pygame, но я не могу понять, как обновить мой спрайт (который пока является только прямоугольником). Любая подсказка была бы по достоинству оценена.
Вот мой код:
class Player(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.Surface((50, 50))
self.image.fill(WHITE)
self.rect = self.image.get_rect()
self.rect.center = (WIDTH / 2, HEIGHT / 2)
self.pos = vect(WIDTH / 2, HEIGHT / 2)
self.vel = vect(0, 0)
self.acc = vect(0, 0)
def update(self):
self.acc = vect(0, 0)
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
self.acc.x = -0.5
if keys[pygame.K_RIGHT]:
self.acc.y = 0.5
self.vel += self.acc
self.pos += self.vel + 0.5 * self.acc
self.rect.center = self.pos
player = Player()
FPS = 40
RECT_WIDTH = 50
RECT_HEIGHT = 50
run = True
while run:
pygame.time.Clock().tick(FPS)
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
screen.fill(LIGHT_PURPLE)
player.update()
pygame.display.flip()
Я не помещал все это как присваивания переменных цвета, но я почти уверен, что ошибка здесь