Example #1
0
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)