Как сделать фон прокрутки в pygame? - PullRequest
2 голосов
/ 20 июня 2020

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

вот код фона прокрутки

def main():
    run = True
    FPS = 60
    clock = pygame.time.Clock()

    BGY = 0
    BGY2 = -BG.get_height()

    def redraw():
        win.blit(BG, (0,BGY-100))
        win.blit(BG, (0,BGY2-100))

        pygame.display.update()
    while run:
        clock.tick(FPS)
        redraw()

        BGY += 2.5
        BGY2 += 2.5
        
        if BGY < BG.get_height() * -1:
            BGY = -BG.get_height()
        if BGY2 < BG.get_height() * -1:
            BGY2 = -BG.get_height()

main()

1 Ответ

1 голос
/ 20 июня 2020

Фон перемещается вниз, поэтому условие должно быть:

if BGY > BG.get_height():
    BGY = -BG.get_height()
if BGY2 > BG.get_height():
    BGY2 = -BG.get_height() 

Если фон должен двигаться вверх, тогда вам нужно уменьшить BGY и BGY2:

BGY -= 2.5
BGY2 -= 2.5

if BGY < BG.get_height() * -1:
    BGY = BG.get_height()
if BGY2 < BG.get_height() * -1:
    BGY2 = BG.get_height() 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...