-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGame.py
50 lines (49 loc) · 2.26 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
42
43
44
45
46
47
48
49
50
import pygame
import sys
import os
import GUI as ui
class Game(object):
def __init__(self,window_width,window_height,title):
pygame.init()
os.environ['SDL_VIDEO_WINDOW_POS']='%d,%d'%(500,50)
pygame.font.init()
size=window_width,window_height
self.screen=pygame.display.set_mode(size)
pygame.display.set_caption(title)
self.clock=pygame.time.Clock()
self.sprite_pool=list()
self.ui_pool=list()
self.static_sprite_pool=list()
self.static_ui_pool=list()
def Render(self):
self.screen.fill((125,125,125))
for sprite in self.static_sprite_pool:
self.screen.blit(sprite.rect, sprite.pos)
for sprite in self.sprite_pool:
self.screen.blit(sprite.rect,sprite.pos)
for ui_controller in self.ui_pool:
if ui_controller.ui_type==ui.BUTTON:
self.screen.blit(ui_controller.sprite.rect,ui_controller.sprite.pos)
self.screen.blit(ui_controller.font.font_surf,ui_controller.font.font_pos)
elif ui_controller.ui_type==ui.FONT:
self.screen.blit(ui_controller.font_surf,ui_controller.font_pos)
for ui_controller in self.static_ui_pool:
if ui_controller.ui_type==ui.BUTTON:
self.screen.blit(ui_controller.sprite.rect,ui_controller.sprite.pos)
self.screen.blit(ui_controller.font.font_surf,ui_controller.font.font_pos)
elif ui_controller.ui_type==ui.FONT:
self.screen.blit(ui_controller.font_surf,ui_controller.font_pos)
pygame.display.flip()
def Line(self,p,q,color):
pygame.draw.aaline(self.screen,color,p,q,1)
def Event_Handle(self):
for event in pygame.event.get():
if event.type==pygame.QUIT:
sys.exit(0)
elif event.type==pygame.MOUSEBUTTONDOWN:
for ui_controller in self.ui_pool:
if ui_controller.ui_type==ui.BUTTON and ui_controller.clicked(event.pos):
ui_controller.button_clicked()
for ui_controller in self.static_ui_pool:
if ui_controller.ui_type==ui.BUTTON and ui_controller.clicked(event.pos):
ui_controller.button_clicked()