Я пытаюсь сделать игру, используя pygame, и мне нужен какой-то персонаж, чтобы двигаться влево и вправо. Для этого каждый раз, когда пользователь удерживает кнопку «влево», я снова рисую фоновое изображение и немного рисую символ слева от его предыдущей позиции, и я делаю аналогичное действие, когда он удерживает кнопку «вправо». , Проблема в том, что изображения загружаются недостаточно быстро. Когда я запускаю код и удерживаю, например, кнопку «влево», спрайт перемещается влево, но кажется, что он пропал в течение крошечного времени (примерно 0,2 секунды), и движение не является непрерывным (говоря, что спрайт исчез) Я имею в виду, что есть время, когда я могу «приостановить» экран и увидеть только фоновое изображение, без спрайта). Я хочу, чтобы движение было непрерывным, поскольку сейчас оно выглядит не очень хорошо. Я пытался обновить тик часов, но для непрерывного движения спрайта он должен двигаться очень медленно, и я тоже этого не хочу. Вот мой код:
run = True
while run:
clock.tick(60)
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
x = x-vel
screen.blit(img, (0, 0))
pygame.display.flip()
screen.blit(ship_img, (x, y))
pygame.display.flip()
if keys[pygame.K_RIGHT]:
x = x + vel
screen.blit(img, (0, 0))
pygame.display.flip()
screen.blit(ship_img, (x, y))
pygame.display.flip()
(vel - это константа, в моем коде это значение равно 5)
Как мне это исправить?
Игра, которую я пытаюсь сделать, это ЭТО одна, и если вы прокрутите вниз, вы увидите, что космический корабль этого парня движется непрерывно, так что это возможно.