как добавлять к переменной значение, но после события начать отнимать его?

в этом коде по умолчанию прибавляется 5, но после касания к краю окна должно отниматься, таким образом должен создастся эффект отскока, но я не знаю как это реализовать

    def __init__(self):
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.Surface((50, 50))
        self.image.fill(GREEN)
        self.rect = self.image.get_rect()
        self.rect.center = (WIDTH / 2, HEIGHT / 2)

    def update(self):
        while True:
            self.rect.x += 5
            if self.rect.right > WIDTH:

Ответы (1 шт):

Автор решения: Roman-Stop RU aggression in UA
def __init__(self):
    ...
    self.speed_x = 5


def update(self):
    while True:
        self.rect.x += self.speed_x
        if self.rect.right > WIDTH: 
              self.speed_x = -5
→ Ссылка