Я не мог придумать, как добавить прыжок в мою игру с помощью pygame и pyganim - PullRequest
0 голосов
/ 21 июня 2019

Мне нужна помощь в реализации прыжка

Я попробовал несколько уроков, но это не сработало, может кто-нибудь, пожалуйста, помогите мне. использование pyganim для анимации персонажей и pygame для игры. Я пытаюсь сделать игру, похожую на платформер, с классной анимацией. и злые персонажи

import pygame  
import pyganim
import sys

pygame.init()
window = pygame.display.set_mode((720,480),0,32)
pygame.display.set_caption('Game')
clock = pygame.time.Clock()

background = pygame.image.load('textures/backgrounds/background.png')
background = pygame.transform.scale(background, (720, 480))

knightsize=pygame.image.load('textures/knight/idle/idle_left/idle_1.png')
knight  = pygame.Rect((0, 480), knightsize.get_size())

left = False
right = False
attacking = False

while True:
        keys = pygame.key.get_pressed()

        if keys[pygame.K_LEFT]:
                knight.centerx -= 5
                window.blit(background, (0,0))
                run_left.blit(window, knight)
                left = True
                right = False
                attacking = False

        elif keys[pygame.K_RIGHT]:
                knight.centerx += 5
                window.blit(background, (0,0))
                run_right.blit(window, knight)
                left = False
                right = True
                attacking = False

        elif keys[pygame.K_KP0]:
                if left:
                        window.blit(background, (0,0))
                        attack_left.blit(window, knight)
                        attacking = True
                elif right:
                        window.blit(background, (0,0))
                        attack_right.blit(window, knight)
                        attacking = True
                else:
                        window.blit(background, (0,0))
                        attack_right.blit(window, knight)
                        attacking = True

        else:

                if left:
                        window.blit(background, (0,0))
                        idle_left.blit(window, knight)
                elif right:
                        window.blit(background, (0,0))
                        idle_right.blit(window, knight)
                else:
                        window.blit(background, (0,0))
                        idle_right.blit(window, knight)

        attacking = False

        knight.clamp_ip(window.get_rect())
        pygame.display.update()
        clock.tick(60)

        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                sys.exit()
...