def make_selection_button(cell_xy, theme, callback, params): """ make_selection_button() - returns a created selection button. Create buttons and assign themes and center coords by calculating its center from display center.""" cell_x, cell_y = cell_xy # Get display size and display center. display_size = pygame.display.get_surface().get_size() display_center_pos = display_size[0]/2, display_size[1]/2 cx = display_center_pos[0] + cell_x * (scale_size[0]/2 + 9) cy = display_center_pos[1] + cell_y * (scale_size[1]/2 + 9) print cx, cy selection_button = Button(panel) selection_button.theme = theme selection_button.rect.center = cx, cy selection_button.released(callback, params) return selection_button
def load_option_buttons(self):#game_screen """ load_option_buttons<() - Loads option buttons for game screen. They are then attatched to the TileGroup. USES: self.option_buttons_list TileGroup.attatch_option_buttons(self.option_buttons_list) """ # Load images and make themes. # Start over button. default = pygame.image.load("button/start_over/default.png") hover = pygame.image.load("button/start_over/hover.png") disabled = pygame.image.load("button/start_over/disabled.png") pressed = pygame.image.load("button/start_over/held.png") bt_startover = create_button_theme(default, hover, pressed, disabled) # Resume Button. default = pygame.image.load("button/resume/default.png") hover = pygame.image.load("button/resume/hover.png") pressed = pygame.image.load("button/resume/held.png") self.bt_resume = create_button_theme(default, hover, pressed) # Pause Button. default = pygame.image.load("button/pause/default.png") hover = pygame.image.load("button/pause/hover.png") disabled = pygame.image.load("button/pause/disabled.png") pressed = pygame.image.load("button/pause/held.png") self.bt_pause = create_button_theme(default, hover, pressed, disabled) # Change difficulty button. default = pygame.image.load("button/change_difficulty/default.png") hover = pygame.image.load("button/change_difficulty/hover.png") pressed = pygame.image.load("button/change_difficulty/held.png") bt_change_difficulty = create_button_theme(default, hover, pressed) # Generate buttons using themes and add to Group. self.option_buttons_list = ButtonGroup() # Start over button. start_over = Button(self.game_screen_panel) start_over.label = "start_over" start_over.theme = bt_startover start_over.rect.x, start_over.rect.y = 297, 193 start_over.disable() start_over.released(self.TileGroup.start_over, ()) self.option_buttons_list.add(start_over) # Change difficulty button. change_difficulty = Button(self.game_screen_panel) change_difficulty.label = "change_difficulty" change_difficulty.theme = bt_change_difficulty change_difficulty.rect.x = 297 change_difficulty.rect.y = 193 + 62 change_difficulty.released(self.switch_to_change_difficulty_screen, ()) self.option_buttons_list.add(change_difficulty) # Pause Button. pause = Button(self.game_screen_panel) pause.label = "pause" pause.theme = self.bt_pause # pause.rect.x = 297 # pause.rect.y = 193 + 62*2 pause.disable() self.option_buttons_list.add(pause) resume = Button(self.game_screen_panel) resume.label = "resume" resume.theme = self.bt_resume resume.rect = pause.rect # pause.rect.x = 297 # pause.rect.y = 193 + 62*2 resume.disable() self.option_buttons_list.add(resume) self.flag_static_sprite = fsp = Button() fsp.label = "flag" img = pygame.image.load("data/themes/bgcolors/Tile/flag.png").convert_alpha() img = pygame.transform.scale(img, (32, 32)) fsp.theme = create_button_theme(img) fsp.disable() self.option_buttons_list.add(fsp) self.clock_static_sprite = csp = Button() csp.label = "clock" img = pygame.image.load("data/themes/bgcolors/Tile/flag.png").convert_alpha() csp.theme = create_button_theme(img) csp.disable() self.option_buttons_list.add(fsp) # Now attatch it to TileGroup. self.TileGroup.attatch_option_buttons(self.option_buttons_list)