# ====== 第11关:蛋仔大事件 - 事件与声音 ====== # 让蛋仔响应键盘和鼠标,再给游戏加上声音! # 注意:运行此文件需要安装 pygame(pip install pygame) # import pygame # import sys # ====== 事件处理示例(伪代码,方便理解)====== # # for event in pygame.event.get(): # if event.type == pygame.QUIT: # # 点了关闭按钮 # running = False # if event.type == pygame.KEYDOWN: # # 按下了键盘 # if event.key == pygame.K_SPACE: # print("蛋仔跳跃!") # if event.key == pygame.K_LEFT: # print("蛋仔向左跑!") # if event.key == pygame.K_RIGHT: # print("蛋仔向右跑!") # if event.type == pygame.MOUSEBUTTONDOWN: # # 点击了鼠标 # print("点击位置:", event.pos) # if event.type == pygame.MOUSEMOTION: # # 鼠标移动了 # print("鼠标在:", event.pos) # ====== 播放声音示例 ====== # # # 初始化混音器 # pygame.mixer.init() # # # 播放音效 # bounce = pygame.mixer.Sound("bounce.wav") # bounce.play() # # # 播放背景音乐 # pygame.mixer.music.load("party_music.mp3") # pygame.mixer.music.play(-1) # -1表示循环播放 # # # 控制音量(0.0 到 1.0) # pygame.mixer.music.set_volume(0.5) # 一半音量 # ====== 完整的蛋仔弹球框架 ====== # 以下是简化版,帮助理解事件和声音怎么用 print("=== 蛋仔事件模拟器 ===") print("(这是一个演示版,展示事件和声音的概念)") print() # 模拟键盘事件 keys = { "space": "蛋仔跳跃!", "left": "蛋仔向左跑!", "right": "蛋仔向右跑!", "up": "蛋仔往上飞!", "down": "蛋仔蹲下来!", } print("可用的按键事件:") for key, action in keys.items(): print(f" 按 {key} 键 → {action}") print() user_key = input("按一个键试试(输入 space/left/right/up/down):") if user_key in keys: print(keys[user_key]) # 如果有音效文件,这里会播放声音 # bounce_sound = pygame.mixer.Sound("bounce.wav") # bounce_sound.play() print("(如果有声音文件,这里会播放音效!)") else: print("蛋仔不知道你要干什么...") # ====== 概念总结 ====== print() print("=== 事件与声音知识点 ===") print("1. 事件 = 用户做的动作(按键、点击、移动鼠标)") print("2. pygame.event.get() 获取所有事件") print("3. event.type 判断事件类型") print("4. event.key 判断按了哪个键") print("5. pygame.mixer 播放声音和音乐") print("6. Sound() 播放音效,music 播放背景音乐") # ====== 小挑战 ====== # 1. 想想如果要做蛋仔派对游戏,需要响应哪些事件? # 2. 画出你心目中的蛋仔派对游戏画面 # 3. 找一个wav格式的声音文件,想想在哪里播放 # # 提示:真正的游戏需要安装 pygame # 安装方法:在终端输入 pip install pygame