# 需要导入模块: import pygame [as 别名]
# 或者: from pygame import draw [as 别名]
def __init__(self, **kwargs):
"""初始化
可选参数:
game_name 游戏名称
icon 图标文件名
screen_size 画面大小
display_mode 显示模式
loop_speed 主循环速度
font_name 字体文件名
font_size 字体大小
"""
pygame.init()
pygame.mixer.init()
self.game_name = kwargs.get("game_name") or GAME_NAME
pygame.display.set_caption(self.game_name)
self.screen_size = kwargs.get("screen_size") or SCREEN_SIZE
self.screen_width, self.screen_height = self.screen_size
self.display_mode = kwargs.get("display_mode") or DISPLAY_MODE
self.images = {}
self.sounds = {}
self.musics = {}
self.icon = kwargs.get("icon") or None
self.icon and pygame.display.set_icon(pygame.image.load(self.icon))
self.screen = pygame.display.set_mode(self.screen_size,
self.display_mode)
self.loop_speed = kwargs.get("loop_speed") or LOOP_SPEED
self.font_name = kwargs.get("font_name") or FONT_NAME
self.font_size = kwargs.get("font_size") or FONT_SIZE
self.font = pygame.font.Font(self.font_name, self.font_size)
self.clock = pygame.time.Clock()
self.now = 0
self.background_color = kwargs.get("background") or BLACK
self.set_background()
self.key_bindings = {} # 按键与函数绑定字典
self.add_key_binding(KEY_PAUSE, self.pause)
self.game_actions = {} # 游戏数据更新动作
self.draw_actions = [self.draw_background] # 画面更新动作列表
self.running = True
self.draw = pygame.draw