прыжки с пигамейскими персонажами не работают в школьном проекте - PullRequest
0 голосов
/ 18 февраля 2020

Я работаю над созданием террерии для школьного проекта, и код, который я имею для прыжков, не работает. когда я запускаю код, персонаж постоянно прыгает, если я не двигаюсь в сторону, но когда я нажимаю клавишу пробела (фактическая кнопка прыжка, персонаж перестает прыгать навсегда.

elif man.isJump != False:
    if keys[pygame.K_SPACE]:
        man.isJump = True
        man.right = False
        man.left = False
        man.walkCount = 0
    else:
        if man.jumpCount >= -10:
            # neg variable determines which way our character is moving positive 1 up, negative 1 down
            neg = 1
            if man.jumpCount < 0:
                neg = -1
            # move our character by the number of pixels 
            # using the product (**) of 10 which is count and halfing the value
            # if positive then moving up, negative moving down
            man.y -= (man.jumpCount ** 2) * 0.5 * neg
            man.jumpCount -= 1
        else:
            man.isJump = False
            man.jumpCount = 10

1 Ответ

0 голосов
/ 18 февраля 2020

[...] когда я запускаю код, персонаж постоянно прыгает [...]

Вы должны оценить, не прыгает ли человек, а затем, если SPACE была нажата, чтобы начать прыжок. В противном случае прыжок может быть выполнен:

if man.isJump == False:

    if keys[pygame.K_SPACE]:
        man.isJump = True # <------ start jump
        man.right = False
        man.left = False
        man.walkCount = 0

else  

    if man.jumpCount >= -10 and : # <----- is jumping?        
        # neg variable determines which way our character is moving positive 1 up,
        # negative 1 down
        neg = 1
        if man.jumpCount < 0:
            neg = -1
        # move our character by the number of pixels 
        # using the product (**) of 10 which is count and halfing the value
        # if positive then moving up, negative moving down
        man.y -= (man.jumpCount ** 2) * 0.5 * neg
        man.jumpCount -= 1

    else:
        man.isJump = False # <------ end jump
        man.jumpCount = 10
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...