Почему мой персонаж не прыгает? Pygame
Вот сам код, чтобы я не делал персонаж не прыгает, в чем проблема?
clock = pygame.time.Clock()
pygame.init()
screen = pygame.display.set_mode((1920, 1080))
pygame.display.set_caption('Dota 3')
icon = pygame.image.load('images/dota3.png')
pygame.display.set_icon(icon)
background = pygame.image.load('images/background.png')
walk_right = [
pygame.image.load('images/player_right/player_right1.png'),
pygame.image.load('images/player_right/player_right2.png'),
pygame.image.load('images/player_right/player_right3.png'),
pygame.image.load('images/player_right/player_right4.png'),
pygame.image.load('images/player_right/player_right5.png'),
pygame.image.load('images/player_right/player_right6.png'),
pygame.image.load('images/player_right/player_right7.png'),
pygame.image.load('images/player_right/player_right8.png'),
]
walk_left = [
pygame.image.load('images/player_left/player_left1.png'),
pygame.image.load('images/player_left/player_left2.png'),
pygame.image.load('images/player_left/player_left3.png'),
pygame.image.load('images/player_left/player_left4.png'),
pygame.image.load('images/player_left/player_left5.png'),
pygame.image.load('images/player_left/player_left6.png'),
pygame.image.load('images/player_left/player_left7.png'),
pygame.image.load('images/player_left/player_left8.png'),
]
player_animation_count = 0
bg_x = 0
player_speed = 5
player_x = 150
player_y = 250
is_jump = False
jump_count = 10
background_sound = pygame.mixer.Sound('sounds/background_music.mp3')
background_sound.play()
running = True
while running:
screen.blit(background, (bg_x, 0))
screen.blit(background, (bg_x + 1920, 0))
keys = pygame.key.get_pressed()
if keys[pygame.K_a]:
screen.blit(walk_left[player_animation_count], (player_x, 800))
else:
screen.blit(walk_right[player_animation_count], (player_x, 800))
if keys[pygame.K_a] and player_x > 50:
player_x -= player_speed
elif keys[pygame.K_d] and player_x < 550:
player_x += player_speed
if keys[pygame.K_w]:
is_jump = True
if is_jump is True:
if jump_count >= -10:
if jump_count < 0:
player_y += (jump_count ** 2) // 2
else:
player_y -= (jump_count ** 2) // 2
jump_count -= 1
else:
is_jump = False
jump_count = 10
if player_animation_count == 3:
player_animation_count = 0
else:
player_animation_count += 1
bg_x -= 2
if bg_x == -1920:
bg_x = 0
pygame.display.update()
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
pygame.quit()
clock.tick(144)import pygame
clock = pygame.time.Clock()
pygame.init()
screen = pygame.display.set_mode((1920, 1080))
pygame.display.set_caption('Dota 3')
icon = pygame.image.load('images/dota3.png')
pygame.display.set_icon(icon)
background = pygame.image.load('images/background.png')
walk_right = [
pygame.image.load('images/player_right/player_right1.png'),
pygame.image.load('images/player_right/player_right2.png'),
pygame.image.load('images/player_right/player_right3.png'),
pygame.image.load('images/player_right/player_right4.png'),
pygame.image.load('images/player_right/player_right5.png'),
pygame.image.load('images/player_right/player_right6.png'),
pygame.image.load('images/player_right/player_right7.png'),
pygame.image.load('images/player_right/player_right8.png'),
]
walk_left = [
pygame.image.load('images/player_left/player_left1.png'),
pygame.image.load('images/player_left/player_left2.png'),
pygame.image.load('images/player_left/player_left3.png'),
pygame.image.load('images/player_left/player_left4.png'),
pygame.image.load('images/player_left/player_left5.png'),
pygame.image.load('images/player_left/player_left6.png'),
pygame.image.load('images/player_left/player_left7.png'),
pygame.image.load('images/player_left/player_left8.png'),
]
player_animation_count = 0
bg_x = 0
player_speed = 5
player_x = 150
player_y = 250
is_jump = False
jump_count = 10
background_sound = pygame.mixer.Sound('sounds/background_music.mp3')
background_sound.play()
running = True
while running:
screen.blit(background, (bg_x, 0))
screen.blit(background, (bg_x + 1920, 0))
keys = pygame.key.get_pressed()
if keys[pygame.K_a]:
screen.blit(walk_left[player_animation_count], (player_x, 800))
else:
screen.blit(walk_right[player_animation_count], (player_x, 800))
if keys[pygame.K_a] and player_x > 50:
player_x -= player_speed
elif keys[pygame.K_d] and player_x < 550:
player_x += player_speed
if keys[pygame.K_w]:
is_jump = True
if is_jump is True:
if jump_count >= -10:
if jump_count < 0:
player_y += (jump_count ** 2) // 2
else:
player_y -= (jump_count ** 2) // 2
jump_count -= 1
else:
is_jump = False
jump_count = 10
if player_animation_count == 3:
player_animation_count = 0
else:
player_animation_count += 1
bg_x -= 2
if bg_x == -1920:
bg_x = 0
pygame.display.update()
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
pygame.quit()
clock.tick(144)```
Источник: Stack Overflow на русском