/
game.py
41 lines (31 loc) · 1.04 KB
/
game.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/bin/env python2
from scene import *
from renderer import Renderer
from eventmanager import *
import sdl2.ext as sdl2ext
from sdl2 import *
class Game():
def __init__(self):
SDL_Init(SDL_INIT_VIDEO)
self.evtMngr = EventManager()
self.scene = Scene(self.evtMngr)
self.renderer = Renderer(self.evtMngr, 1000, 800)
self.evtMngr.attachHandler(E_SDL_EVENT, self.onSDLEvent)
def run(self):
self.running = True
while self.running:
self.queueSDLEvents()
self.evtMngr.handleEvents()
self.scene.update()
self.renderer.draw(self.scene)
return 0
def onSDLEvent(self, eType, e):
if eType == SDL_QUIT:
self.running = False
if eType == SDL_KEYDOWN and e.key.keysym.sym == SDLK_ESCAPE:
self.running = False
def queueSDLEvents(self):
events = sdl2ext.get_events()
newEvents = dict()
for event in events:
self.evtMngr.queueEvent(E_SDL_EVENT, event.type, event)