Pygame Side Scrolling не работает должным образом - PullRequest
0 голосов
/ 11 января 2019

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

def camera(self):
    if self.rect.right >= 500 and self.in_level.world_shift_x >= -((self.in_level.total_level_width - (Screen_Width) - 32)):
        if self.vx > 0:
            diff = self.rect.right - 500
            self.rect.right = 500
            self.in_level.shift_world_x((-diff))

    elif self.rect.left <= 120 and self.in_level.world_shift_x < 0:
        if self.vx < 0:
            diff = 120 - self.rect.left
            if diff < 5:
                diff = 5
            self.rect.left = 120
            self.in_level.shift_world_x((diff))

    if self.rect.top <= 200 and self.in_level.world_shift_y <= -((self.speed / 8)):
        diffy = 200 - self.rect.top 
        self.rect.top = 200
        self.in_level.shift_world_y(round(diffy))

    elif self.rect.bottom > 400 and self.in_level.world_shift_y >= -((self.in_level.total_level_height - (Screen_Height + 32))):
        diffy = self.rect.bottom - 400
        self.rect.bottom = 400
        self.in_level.shift_world_y(round(-diffy))

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

Редактировать: я пробовал другую форму камеры, но как только я поместил свой анимированный спрайт, все обернулось фиаско. Это то, что я хочу исправить, если вам интересно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...