From 1ecadaf86628f43ad78ff05019e9fe85719decc7 Mon Sep 17 00:00:00 2001 From: phe65kjig <2567779553@qq.com> Date: Sat, 25 May 2024 18:09:52 +0800 Subject: [PATCH] ADD file via upload --- main | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 main diff --git a/main b/main new file mode 100644 index 0000000..fe8f26b --- /dev/null +++ b/main @@ -0,0 +1,57 @@ +import pygame, sys +from settings import * +from level import Level + +class Game: + def __init__(self): + + # 初始化 Pygame 库 + pygame.init() + # 设置游戏窗口尺寸 + self.screen = pygame.display.set_mode((WIDTH,HEIGTH)) + # 设置游戏窗口标题 + pygame.display.set_caption('Zelda') + # 创建时钟对象,用于控制游戏帧率 + self.clock = pygame.time.Clock() + # 创建游戏关卡对象 + + self.level = Level() + # 声音设置 + # 加载背景音乐文件 + main_sound = pygame.mixer.Sound('../audio/main.ogg') + # 设置背景音乐音量 + main_sound.set_volume(0.5) + # 播放背景音乐,循环播放(loops=-1 表示无限循环) + main_sound.play(loops = -1) + + def run(self): + # 进入游戏主循环,持续运行直到退出。 + while True: + # 遍历所有的事件。 + for event in pygame.event.get(): + # 如果事件类型是退出事件,即关闭窗口。 + if event.type == pygame.QUIT: + # 退出 Pygame 应用程序 + pygame.quit() + # 退出 Python 解释器 + sys.exit() + # 如果有键盘按下事件。 + if event.type == pygame.KEYDOWN: + # 按下 'm' 键切换游戏菜单的显示 + if event.key == pygame.K_m: + # 切换游戏菜单的显示状态。 + self.level.toggle_menu() + # 用水的颜色填充游戏窗口背景 + self.screen.fill(WATER_COLOR) + # 运行游戏关卡的主循环 + self.level.run() + # 更新屏幕显示 + pygame.display.update() + # 控制游戏帧率为 FPS + self.clock.tick(FPS) + +if __name__ == '__main__': + # 创建 Game 类的实例 game + game = Game() + # 调用 game 对象的 run 方法,启动游戏主循环 + game.run() \ No newline at end of file