Pygame Platformer - Как заставить персонажа прыгать - PullRequest
0 голосов
/ 15 ноября 2018

В настоящее время я пытаюсь сделать платформер типа Марио, используя pygame и шаблон проектирования MVC. На данный момент мой прогресс - вывод персонажа на экран и перемещение его влево и вправо.

Моя цель - чтобы этот персонаж мог прыгать при нажатии пробела. Это определенно признает, что пробел нажат, но персонаж просто останавливается на месте, а не прыгает. Вот код для персонажа, который у меня сейчас есть:

import pygame


class Player(pygame.sprite.Sprite):
    def __init__(self, name, x, y, img_file):
        pygame.sprite.Sprite.__init__(self)

        self.image = pygame.image.load(img_file).convert_alpha()
        self.rect = self.image.get_rect()
        self.rect.x = x
        self.rect.y = y
        self.falling = True
        self.onGround = False
        self.v = 0
        self.speed = 2

    def moveLeft(self):
        self.rect.x -= self.speed
    def moveRight(self):
        self.rect.x += self.speed
    def jump(self):
        if self.onGround == False:
            return
        self.velocity = 8
        self.onGround = False

и вот часть контроллера, соответствующая этому:

if event.type == pygame.KEYDOWN:
    if(event.key == pygame.K_SPACE):
        self.player.jump()

Спасибо

...