Персонаж не прыгает по нажатию на пробел!! Помогите пожалуйста) import pygame # Инициализация игры pygame.init() # Дисплей игры display_width = 800 display_height = 600 display = pygame.display.set_mode((display_width, display_height)) # Персонаж user_width = 60 user_height = 100 usr_x = display_width // 3 usr_y = display_height - user_height - 100 # Анимациа прыжка make_jump = False # Имя игры pygame.display.set_caption('Armenian Dino') # Иконка игры icon = pygame.image.load('dino-icon.png') pygame.display.set_icon(icon) # Цикл игры 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() # Обновление цикла игры clock = pygame.time.Clock() # Цвет дисплея display.fill((255, 255, 255)) # Рисование персонажа pygame.draw.rect(display, (247, 240, 22), (usr_x, usr_y, user_width, user_height)) pygame.display.update() clock.tick(60) # Функция jump() def jump(): global usr_y, jump_counter, make_jump if jump_counter >= -30: usr_y -= jump_counter jump_counter -= 1 else: jump_counter = 30 make_jump = False # Счетчик прыжков jump_counter = 30 run_game() Код import pygame # Инициализация игры pygame.init() # Дисплей игры display_width = 800 display_height = 600 display = pygame.display.set_mode((display_width, display_height)) # Персонаж user_width = 60 user_height = 100 usr_x = display_width // 3 usr_y = display_height - user_height - 100 # Анимациа прыжка make_jump = False # Имя игры pygame.display.set_caption('Armenian Dino') # Иконка игры icon = pygame.image.load('dino-icon.png') pygame.display.set_icon(icon) # Цикл игры 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() # Обновление цикла игры clock = pygame.time.Clock() # Цвет дисплея display.fill((255, 255, 255)) # Рисование персонажа pygame.draw.rect(display, (247, 240, 22), (usr_x, usr_y, user_width, user_height)) pygame.display.update() clock.tick(60) # Функция jump() def jump(): global usr_y, jump_counter, make_jump if jump_counter >= -30: usr_y -= jump_counter jump_counter -= 1 else: jump_counter = 30 make_jump = False # Счетчик прыжков jump_counter = 30 run_game()
koody_inactive2903838, Если у тебя изначально имеется булево значение False (make_jump = False), то зачем ты в функции (def jump) используешь тоже самое? Надо поменять саму функцию прыжка
Не код, а помойка. Либо пиши все под одну функцию либо исползуй их по-минимуму иначе ничего не понятно что\где\за что отвечает. --- Сообщение объединено с предыдущим 30 мар 2020 + у тебя игра не идет ибо нет апдейта в цикле игры, возможно в этом проблема
Kyber_Zero, Братик ну не надо же так на чела гнать который при том новичок в этом деле. Ну и за ответ спасибо!