projects
/
tabakrolletjie.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Tweak the colour of night.
[tabakrolletjie.git]
/
tabakrolletjie
/
engine.py
diff --git
a/tabakrolletjie/engine.py
b/tabakrolletjie/engine.py
index 8ee5fc96a43c5a8746c62fa653893a5d9ca34c15..4aac2e8e8bb7297ce86e317e4c8e68e5528f5212 100644
(file)
--- a/
tabakrolletjie/engine.py
+++ b/
tabakrolletjie/engine.py
@@
-8,6
+8,7
@@
import pygame.time
import pygame.locals as pgl
from .constants import FPS
import pygame.locals as pgl
from .constants import FPS
+from .events import QuitEvent, SceneChangeEvent
class Engine(object):
class Engine(object):
@@
-20,7
+21,8
@@
class Engine(object):
if self._scene is not None:
self._scene.exit(self._gamestate)
self._scene = scene
if self._scene is not None:
self._scene.exit(self._gamestate)
self._scene = scene
- self._scene.enter(self._gamestate)
+ if scene is not None:
+ self._scene.enter(self._gamestate)
def run(self):
clock = pygame.time.Clock()
def run(self):
clock = pygame.time.Clock()
@@
-28,12
+30,14
@@
class Engine(object):
while True:
events = pygame.event.get()
for ev in events:
while True:
events = pygame.event.get()
for ev in events:
- if ev.type == pgl.QUIT:
+ if QuitEvent.matches(ev) or ev.type == pgl.QUIT:
+ self.set_scene(None)
return
return
+ elif SceneChangeEvent.matches(ev):
+ self.set_scene(ev.scene)
else:
self._scene.event(ev, self._gamestate)
self._scene.render(self._screen, self._gamestate)
pygame.display.flip()
else:
self._scene.event(ev, self._gamestate)
self._scene.render(self._screen, self._gamestate)
pygame.display.flip()
-
clock.tick(FPS)
clock.tick(FPS)