/
renderer.py
45 lines (37 loc) · 943 Bytes
/
renderer.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
42
43
44
45
import pygame
class Renderer(object):
def __init__(self, game):
self.game = game
self.setup()
def setup(self):
self.screen = pygame.display.set_mode((800, 600), pygame.HWSURFACE|pygame.DOUBLEBUF)
self.size = self.screen.get_size()
self.hsize = self.size[0]/2, self.size[1]/2
pygame.display.set_caption('Ygritte')
def run(self):
self.running = True
clock = pygame.time.Clock()
while self.running:
clock.tick(60)
self.tick()
#self.sprites.update()
self.draw()
def quit(self):
self.running = False
def tick(self):
self.handleInput()
self.game.tick()
def handleInput(self):
while True:
event = pygame.event.poll()
if event:
self.game.handleInput(event)
else:
break
def draw(self):
self.screen.fill((0, 0, 0))
self.game.level.draw(self.screen)
self.game.player.draw(self.screen)
for bullet in self.game.bullets:
bullet.draw(self.screen)
pygame.display.flip()