My Pygame Game Engine
at main 2.2 kB view raw
1from src.scripts.modules.renderer import Screen 2from src.scripts.modules.gui import * 3import os 4 5class level_editor_screen(Screen): 6 def __init__(self, game): 7 self.game = game 8 9 self.surface = pygame.Surface((16, 16)) 10 self.surface.fill((0, 0, 0)) 11 12 self.save_button = gui_press_button(game) 13 self.save_button.rect.set_pos(percentage_constraint(0.6), percentage_constraint(0.05), 1) 14 self.save_button.rect.set_size(percentage_constraint(0.2), percentage_constraint(0.1), 1) 15 self.save_button.rect.set_border_radius(5) 16 17 self.save_button_text = gui_text(game) 18 self.save_button_text.text = "Save" 19 self.save_button_text.parent = self.save_button.rect 20 self.save_button_text.set_size_constraint(percentage_constraint(0.8)) 21 self.save_button_text.set_x_constraint(center_constraint()) 22 self.save_button_text.set_y_constraint(center_constraint()) 23 24 def update(self): 25 mx, my = pygame.mouse.get_pos() 26 mx = mx / 45 27 my = my / 45 28 if self.game.input.is_mouse_button_pressed(0): 29 pygame.draw.rect(self.surface, (255, 255, 255), ((mx, my), (1, 1))) 30 31 if self.game.input.is_mouse_button_pressed(2): 32 pygame.draw.rect(self.surface, (0, 0, 0), ((mx, my), (1, 1))) 33 34 self.save_button.rect.set_color((47, 93, 98), 4) 35 if self.save_button.hover: 36 self.save_button.rect.set_color((94, 139, 126), 2) 37 38 if self.save_button.pressed: 39 self.save_button.rect.set_color((255, 255, 255), 2) 40 with open(os.path.join('src', 'resources', 'main', 'data', 'levels', 'level'), 'w') as file: 41 for i in range(16): 42 for j in range(16): 43 pass 44 file.write(self.surface) 45 46 self.save_button.update() 47 self.save_button_text.update() 48 49 def render(self): 50 self.game.renderer.main_surface.fill((71, 89, 126)) 51 52 self.save_button.render() 53 self.save_button_text.render() 54 55 self.game.renderer.main_surface.blit(pygame.transform.scale(self.surface, (720, 720)), (0, 0))