【发布时间】:2020-06-19 09:12:42
【问题描述】:
我正在使用pygame 创建自己的 GUI 库。我有一个创建 UI 元素的 UIComponent 类。 UI 元素本身是通过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
【问题讨论】: