My Pygame Game Engine
at main 5.7 kB view raw
1from src.scripts.modules.renderer import Screen 2from src.scripts.modules.gui import * 3import os 4 5class gui_test(Screen): 6 def __init__(self, game): 7 self.game = game 8 9 self.button = gui_toggle_button(game) 10 11 self.button.rect.set_x_constraint(percentage_constraint(0.06)) 12 self.button.rect.set_y_constraint(percentage_constraint(0.07)) 13 self.button.rect.set_height_constraint(percentage_constraint(0.1)) 14 self.button.rect.set_width_constraint(aspect_constraint(3)) 15 self.button.rect.set_border_radius(5) 16 self.button.rect.set_draw_color(self.game.color_handler.get_rgb('main_menu.bright_bg')) 17 18 self.slider = gui_slider(game, 0, 100) 19 20 self.slider.slider_body.set_x_constraint(percentage_constraint(0.06)) 21 self.slider.slider_body.set_y_constraint(percentage_constraint(0.25)) 22 self.slider.slider_body.set_width_constraint(pixel_constraint(200)) 23 self.slider.slider_body.set_height_constraint(pixel_constraint(5)) 24 self.slider.slider_body.set_border_radius(50) 25 self.slider.slider_body.set_draw_color(self.game.color_handler.get_rgb('main_menu.bright_bg')) 26 27 self.slider.slider_head.parent = self.slider.slider_body 28 self.slider.slider_head.set_x_constraint(pixel_constraint(0)) 29 self.slider.slider_head.set_y_constraint(center_constraint()) 30 self.slider.slider_head.set_width_constraint(pixel_constraint(20)) 31 self.slider.slider_head.set_height_constraint(pixel_constraint(20)) 32 self.slider.slider_head.set_border_radius(10) 33 self.slider.slider_head.set_draw_color(self.game.color_handler.get_rgb('main_menu.text')) 34 35 self.button2 = gui_toggle_button(game) 36 37 self.button2.rect.set_x_constraint(percentage_constraint(0.06)) 38 self.button2.rect.set_y_constraint(percentage_constraint(0.32)) 39 self.button2.rect.set_width_constraint(percentage_constraint(0.12)) 40 self.button2.rect.set_height_constraint(percentage_constraint(0.1)) 41 self.button2.rect.set_outline_radius(5) 42 self.button2.rect.set_border_radius(100) 43 self.button2.rect.set_draw_color(self.game.color_handler.get_rgb('main_menu.bright_bg')) 44 45 self.button_bg = gui_rect(game) 46 47 self.button_bg.parent = self.button2.rect 48 self.button_bg.set_x_constraint(center_constraint()) 49 self.button_bg.set_y_constraint(center_constraint()) 50 self.button_bg.set_width_constraint(percentage_constraint(0.95)) 51 self.button_bg.set_height_constraint(percentage_constraint(1)) 52 self.button_bg.set_border_radius(100) 53 self.button_bg.set_draw_color(self.game.color_handler.get_rgb('main_menu.bright_bg')) 54 55 self.button_inside_rect = gui_rect(game) 56 57 self.button_inside_rect.parent = self.button2.rect 58 self.button_inside_rect.set_x_constraint(percentage_constraint(0.05)) 59 self.button_inside_rect.set_y_constraint(center_constraint()) 60 self.button_inside_rect.set_width_constraint(aspect_constraint(1)) 61 self.button_inside_rect.set_height_constraint(percentage_constraint(0.8)) 62 self.button_inside_rect.set_border_radius(30) 63 self.button_inside_rect.set_draw_color(self.game.color_handler.get_rgb('main_menu.bright_bg')) 64 65 def update(self): 66 self.button.update() 67 self.slider.update() 68 self.button2.update() 69 self.button_bg.update() 70 self.button_inside_rect.update() 71 72 self.button.rect.set_draw_color(self.game.color_handler.get_rgb('main_menu.bright_bg')) 73 if self.button.hover: 74 self.button.rect.tween_to(percentage_constraint(0.08), percentage_constraint(0.07), 24) 75 self.button.rect.set_draw_color(self.game.color_handler.get_rgb('main_menu.bright_bg_2')) 76 else: 77 self.button.rect.tween_to(percentage_constraint(0.06), percentage_constraint(0.07), 24) 78 79 if self.button.toggled: 80 self.button.rect.set_draw_color(self.game.color_handler.get_rgb('main_menu.text')) 81 self.button.rect.tween_to(percentage_constraint(0.08), percentage_constraint(0.07), 24) 82 83 if self.button2.hover: 84 self.button_inside_rect.set_draw_color(self.game.color_handler.get_rgb('main_menu.bright_bg_2')) 85 else: 86 self.button_inside_rect.set_draw_color(self.game.color_handler.get_rgb('main_menu.bright_bg')) 87 88 #self.button_inside_rect.tween_to(percentage_constraint(0.05), center_constraint(), 6) 89 self.button_inside_rect.tween_size(aspect_constraint(1), percentage_constraint(0.8), 12) 90 self.button_bg.set_draw_color(self.game.color_handler.get_rgb('switch.off')) 91 if self.button2.toggled: 92 self.button_bg.set_draw_color(self.game.color_handler.get_rgb('switch.on')) 93 self.button_inside_rect.tween_size(percentage_constraint(0.9), percentage_constraint(0.8), 12) 94 #self.button_inside_rect.tween_to(percentage_constraint(0.57), center_constraint(), 6) 95 96 def render(self): 97 self.game.renderer.screen.fill(self.game.color_handler.get_rgb('main_menu.background')) 98 self.button_bg.render() 99 self.button.render() 100 self.slider.render() 101 self.button2.render() 102 self.button_inside_rect.render() 103 self.game.renderer.screen.blit(self.game.font_handler.render(str(int(self.slider.value)), 'default', 32, self.game.color_handler.get_rgb('main_menu.text')), (300, 160)) 104 #value = int((self.slider_head.x - self.slider_body.x) / (self.slider_body.width / 100)) 105 #self.game.renderer.screen.blit(self.game.font_handler.render(str(value), 'default', 48, self.game.color_handler.get_rgb('main_menu.text')), (20, 20))