def __init__(self, display, display_size, bg_color): self.display = display self.clock = pygame.time.Clock() self.display_size = display_size self.bg_color = bg_color self.p_menu = pygame.Surface( (round(self.display_size[0] / 2), round(self.display_size[1] / 2))) self.p_menu_size = self.p_menu.get_size() self.p_menu_xy = ((self.display_size[0] - self.p_menu_size[0]) / 2, (self.display_size[1] - self.p_menu_size[1]) / 2) self.p_menu.fill(self.white) self.p_menu.set_alpha(127) self.buttons = [] for index, item in enumerate(self.btn_names): button = Button(self.display, item, self.menu_font, self.hit_font, self.white) button.xy = [ self.p_menu_xy[0] + (self.p_menu_size[0] - button.size[0]) / 2, self.p_menu_xy[1] + self.p_menu_size[1] / 2 + button.size[1] * index - (button.size[1] * len(self.btn_names) / 2) ] button.rect = [ button.xy[0], button.xy[1], button.size[0], button.size[1] ] self.buttons.append(button)
def __init__(self, app_name, display, display_size): self.return_value = None self.display = display self.clock = pygame.time.Clock() self.display_size = display_size self.title_font = self.title_font.render(app_name, 1, self.white) self.title_size = (self.title_font.get_width(), self.title_font.get_height()) self.title_xy = (display_size[0] / 2 - self.title_font.get_width() / 2, display_size[1] / 4 - self.title_font.get_height() / 2) self.title_surf = pygame.Surface(self.title_size, flags=pygame.SRCALPHA) self.title_surf.fill((0, 0, 0, 0)) self.title_surf.blit(self.title_font, (0, 0)) self.buttons = [] for index, item in enumerate(self.btn_names): button = Button(self.display, item, self.menu_font, self.hit_font, self.white) button.xy = [(display_size[0] - button.size[0]) / 2, display_size[1] * 3 / 4 + button.size[1] * index - (button.size[1] * len(self.btn_names) / 2)] button.rect = [ button.xy[0], button.xy[1], button.size[0], button.size[1] ] self.buttons.append(button)