import pygame as pg import pygame_gui from constants import Config class Game(): def __init__(self, screen, clock, manager): self.screen = screen self.clock = clock self.manager = manager self.fps_label = pygame_gui.elements.UILabel( relative_rect=pg.Rect((10, 10), (120, 40)), text="FPS: 0", manager=self.manager ) def run(self): self.running = True while self.running: self.clock.tick(Config.FPS) self.update() self.draw() return self.running def update(self): fps = str(int(self.clock.get_fps())) self.fps_label.set_text('fps: ' + fps) for event in pg.event.get(): if event.type == pg.QUIT: self.running = False self.manager.process_events(event) time_delta = self.clock.tick(Config.FPS)/1000.0 self.manager.update(time_delta) def draw(self): self.screen.fill(self.manager.get_theme().get_colour('normal_bg')) self.manager.draw_ui(self.screen) pg.display.update()