> This creates a RenderUpdates group named .all > >> Player.containers = self.all >> Computer.containers = self.all >> Ball.containers = self.all > > This makes three aliases for .all > So every time you talk about Payer.containers is like talking about self.all...
> Somewhere else in the code, sprites will be added to these containers. > Maybe here? #The whole Player class class Player(pygame.sprite.Sprite): def __init__(self): pygame.sprite.Sprite.__init__(self, self.containers) ####HERE?? self.image = pygame.Surface((16, 64)) self.image.fill((255, 255, 255), (2, 0, 12, 64)) self.image.fill((255, 255, 255), (0, 2, 16, 60)) self.rect = self.image.get_rect(midleft = (16, 240)) self._rect = pygame.Rect(self.rect) print(self._rect) def update(self): self._rect = Rect(self.rect) key = pygame.key.get_pressed() if key[K_UP]: self.rect.move_ip(0, -5) if key[K_DOWN]: self.rect.move_ip(0, 5) if self.rect.bottom > 480: self.rect.bottom = 480 if self.rect.top < 0: self.rect.top = 0 > > --- > James Paige > Thank you James