Я работаю над игрой в стиле Марио. Я реализовал столкновения и прыжки, но есть одна проблема. Если я просто продолжу удерживать пробел, персонаж продолжит прыгать. Я не хочу, чтобы это произошло. Я хочу, чтобы игроку пришлось отпустить пробел, а затем снова нажать пробел, чтобы снова прыгнуть. Вместо того, чтобы просто продолжать прыгать, удерживая клавишу пробела. Другими словами, как только игрок подпрыгнет и приземлится на землю, даже если удерживать пробел, игрок не должен прыгать.
Как именно я могу сделать это простым способом? Вот часть кода, о которой идет речь:
Код: Выделить всё
if keys[pygame.K_w] and not in_air and collided:
in_air = True
y_velocity += jump_acceleration
collisions = False
Я попытался реализовать переменную «last_jumped_time» и сделать так, чтобы игрок мог прыгать только раз в 1 секунду. Однако это не дало полного ответа на мой вопрос. Я думаю, что мне нужно где-то использовать функцию pygame.KEYUP, чтобы дождаться отпускания клавиши «вверх».
Подробнее здесь:
https://stackoverflow.com/questions/790 ... -in-pygame