У меня есть класс в моей программе pygame, которая расширяет спрайт и эффективно дает столкновение и еще что-то вроде прямоугольника. __init__
класса выглядит следующим образом:pygame рисует заполненный прямоугольник, переписывая границу, но только иногда?
def __init__(self,topleft,size,label):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.Surface(size)
self.rect = self.image.get_rect()
self.rect.topleft = topleft
self.image.fill([128,128,128])
pygame.draw.rect(self.image, [200,200,200], self.rect, 5)
И это прекрасно работает ... для одного прямоугольника. Проблема в том, что после этого прямоугольника любые другие являются сплошными цветными прямоугольниками, установленными на цвет заливки (128, 128, 128) вместо того, чтобы быть заполненным прямоугольником с разной окраской (200 200 200) границей. Я ожидаю, что это какая-то проблема с переменными класса, а не переменными экземпляра, но я не уверен, где проблема.
Вы явно устанавливаете цвет заливки постоянной ... почему вы ожидаете разные цвета? –
Заполнение является постоянным, но граница прямоугольника является константой _different_. Проблема заключается в том, что для каждого прямоугольника за пределами первой границы граница устанавливается на цвет заливки, а не на заданное значение 200 200 200 –
ok теперь я понимаю ... –