Учусь писать игры через уроки в ютубе. Написал вот такой код, но персонаж почему при каждом прыжке проваливается. Не могу понять почему.
И можете объяснить зачем в коде нужны make_jump = False и jump_counter = 30 и что они делают.
Объясните, буду благодарен.
import pygame
pygame.init()
display_width = 1000
display_height = 600
display = pygame.display.set_mode((display_width, display_height))
pygame.display.set_caption("Run Dino")
icon = pygame.image.load('dino.png.')
pygame.display.set_icon(icon)
user_width = 60
user_height = 100
user_x = display_width // 3
user_y = display_height - user_height - 100
clock = pygame.time.Clock()
make_jump = False
jump_counter = 30
def run_game():
global make_jump
game = True
while game:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
keys = pygame.key.get_pressed()
if keys[pygame.K_SPACE]:
make_jump = True
if make_jump:
jump()
display.fill((255, 255, 255))
pygame.draw.rect(display, (247, 240, 22), (user_x, user_y, user_width, user_height))
pygame.display.update()
clock.tick(60)
def jump():
global user_y, jump_counter, make_jump
if jump_counter >= -30 :
user_y -= jump_counter //2
jump_counter -= 1
else:
jump_counter = 30
make_jump = False
run_game()