Я создаю свою собственную GUI библиотеку с pygame
. У меня есть класс UIComponent
, который создает элементы пользовательского интерфейса. Сам элемент пользовательского интерфейса создается через self.image
с width
и height
. Проблема в том, что изменение ширины и высоты, похоже, не работает. Я использую self.rect.x
, чтобы изменить его координаты, но когда я попытался использовать self.rect.width
, это не дало результата.
ui_elements = pg.sprite.Group()
class UIComponent(pg.sprite.Sprite):
def __init__(self, width, height):
pg.sprite.Sprite.__init__(self)
self.width_percent, height_percent = 0, 0
self.alignments = []
self.image = pg.Surface((width, height))
self.rect = self.image.get_rect()
ui_elements.add(self)
def set_colour(self, colour_value):
self.image.fill(colour_value)
def update(self, win):
for i in self.alignments:
i(win)
def center_x(self, win):
self.rect.x = (win.s_width/2)-self.image.get_width()/2
def center_y(self, win):
self.rect.y = (win.s_height/2)-self.image.get_height()/2
def relative_width(self, win):
self.rect.width = 25
def relative_height(self, win):
self.rect.height = 25