46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
import pygame
|
|
from pygame.locals import *
|
|
|
|
from Classes.System.Window import Window
|
|
from Classes.System.InputHandler import InputHandler
|
|
|
|
|
|
class App:
|
|
|
|
__window:Window
|
|
__running:bool = True
|
|
__player = pygame.Rect((300,250, 50,50))
|
|
__FPS = 60
|
|
__speed = 5
|
|
__clock = pygame.time.Clock()
|
|
|
|
def __init__(self, width:int=800, height:int=600, title:str="default title"):
|
|
self.__window = Window(width=width, height=height, title=title)
|
|
self.startGameLoop()
|
|
self.onCleanup()
|
|
|
|
def startGameLoop(self):
|
|
while self.__running:
|
|
|
|
self.__clock.tick(self.__FPS)
|
|
|
|
#temporary refresh
|
|
self.__window.clea().fill((0,0,0))
|
|
pygame.draw.rect(self.__window.getScreen(), (255,0,0), self.__player)
|
|
|
|
self.__player.move_ip((InputHandler.getInputAxis()[0]*self.__speed),(InputHandler.getInputAxis()[1]*self.__speed))
|
|
|
|
# event handler
|
|
for event in pygame.event.get():
|
|
if event.type == pygame.QUIT:
|
|
self.onCleanup()
|
|
|
|
# emits update to the game
|
|
pygame.display.update()
|
|
|
|
def setRunning(self, running:bool):
|
|
self.__running = running
|
|
|
|
def onCleanup(self):
|
|
self.__running = False
|
|
pygame.quit() |