Как заставить Wall Jump работать в Python / Pygame - PullRequest
0 голосов
/ 22 января 2020

было просто интересно, сможет ли кто-нибудь помочь мне заставить стену моего персонажа прыгнуть внутри этой игры, которую я создаю с помощью Pygame. До сих пор я пробовал несколько функций столкновения, но ничего не работает, мне нужно, чтобы персонаж прыгал, находясь на земле или сбоку от платформы или стены. Любая помощь приветствуется, и вот код:

def jump(self):
        """ Called when user hits 'jump' button. """

        # move down a bit and see if there is a platform below us.
        # Move down 2 pixels because it doesn't work well if we only move down 1
        # when working with a platform moving down.
        self.rect.y += 2
        platform_hit_list = pygame.sprite.spritecollide(self, self.level.platform_list, False)

        for block in platform_hit_list:

            if pygame.sprite.collide_rect(self,block) or pygame.sprite.collide_rect(block,self):

                self.change_y = -8.5
                print("I am reading this!")

        self.rect.y -= 2

        # If it is ok to jump, set our speed upwards
        if len(platform_hit_list) > 0 or self.rect.bottom >= constants.SCREEN_HEIGHT:
            self.change_y = -8.5

Для оператора if я испробовал следующие условия:

if pygame.sprite.collide_rect(self.rect,block.rect) or 
pygame.sprite.collide_rect(self.rect,block.rect)

и

if pygame.sprite.collide_rect(self.rect.right,block.rect.left) or
 pygame.sprite.collide_rect(self.rect.right,block.rect.left)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...