Pygame setup and fps label

This commit is contained in:
2026-05-11 23:36:37 +02:00
parent 9ba19fa40b
commit cc0a92060b
7 changed files with 120 additions and 0 deletions
+40
View File
@@ -0,0 +1,40 @@
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()