class main_w_aron(Window): def __init__(self, name): super().__init__(name) self.camera = Camera((-self.display.get_width()//2, -self.display.get_height()//2), 7) self.camera_follow = None #set this to an object with a .pos to have the camera follow it self.render_list = [] #render relitive to camera self.ui_render_list = [] #render without camera interference self.keydict = {pygame.K_ESCAPE:self.quit} def update(self): for item in self.render_list: item.update() if self.camera_follow is not None: self.camera.go_to(self.camera_follow.pos) def draw(self): for item in self.render_list: item.draw(self.camera.get_pos()) for item in self.ui_render_list: item.draw() def quit(self, arg): self.end = True def keydown(self, key): for k in self.keydict.keys(): if key == k: self.keydict[k](True) def keyup(self, key): for k in self.keydict.keys(): if key == k: self.keydict[k](False)