Я пытаюсь создать игру, подобную геометрической тире в pygame. У меня есть все, кроме прыгающей части. Мне это нужно, так что, когда персонаж находится на квадратном блоке, он может вскочить, но не может дважды прыгать в воздухе. Прямо сейчас у меня это так, что персонаж может прыгать на землю, но как только персонаж касается прыжков на множестве блоков, он начинает отскакивать вверх и вниз и не может прыгать, пока он скользит по блокам. Может ли кто-нибудь помочь?Прыжки в Pygame
onblock = False
for i in squares_list:
if player_rect.bottom <= 560 and player_rect.colliderect(i):
onblock = True
player_rect.bottom = i.top + 1
if player_rect.collidepoint((i.topleft[0], i.topleft[1]+1)):
print ('Game Over')
if event.type == KEYDOWN: # if space is pressed the character jumps
if event.key == K_SPACE:
print(onblock)
if onblock or player_rect.bottom == screen.get_rect().bottom : # prevents double jumps
vel_y = -20 # Makes the character jump up
player_rect.y -= 1
if onblock:
gravity = 0
vel_y = 0
current_angle = 0
else:
gravity = 1
vel_y += gravity
onblock = False
после прыжка может быть установлен на блокировку True? как в строке после 'player_rect.y - = 1' –