From 80021191ffbe076027a5d8c3076877bb7db386eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=9F=E5=A4=96=E4=B9=8B=E7=A5=9E?= Date: Mon, 1 Aug 2022 23:14:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E5=A4=A7=E5=98=B4=E8=8A=B1?= =?UTF-8?q?=E9=9F=B3=E6=95=88=E4=BD=93=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/component/plant.py | 7 +++++-- source/state/level.py | 6 +++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/source/component/plant.py b/source/component/plant.py index e05adef..884518d 100755 --- a/source/component/plant.py +++ b/source/component/plant.py @@ -647,8 +647,11 @@ class Chomper(Plant): def attacking(self): if self.frame_index == (self.frame_num - 3): - # 播放吞的音效 - c.SOUND_BIGCHOMP.play() + # 播放吞的音效 由于一帧在这个循环中执行了若干次,可能被设置播放若干次导致声音重叠,所以用if保护 + if not self.should_diggest: + # 在尚未检测到需要消化时播放音效 + c.SOUND_BIGCHOMP.play() + # 对活着的僵尸才需要吞下去消化 if self.attack_zombie.alive(): self.should_diggest = True self.attack_zombie.kill() diff --git a/source/state/level.py b/source/state/level.py index 71b9f8e..c647e3a 100644 --- a/source/state/level.py +++ b/source/state/level.py @@ -366,7 +366,7 @@ class Level(tool.State): def choose(self, mouse_pos, mouse_click): # 如果暂停 if self.show_game_menu: - self.pauseAndCheckLittleMenuOptions(mouse_pos, mouse_click) + self.pauseAndCheckMenuOptions(mouse_pos, mouse_click) return elif mouse_pos and mouse_click[0]: @@ -544,7 +544,7 @@ class Level(tool.State): # 音量+、-应当处于同一高度 self.sound_volume_minus_button_rect.y = self.sound_volume_plus_button_rect.y = 250 - def pauseAndCheckLittleMenuOptions(self, mouse_pos, mouse_click): + def pauseAndCheckMenuOptions(self, mouse_pos, mouse_click): # 设置暂停状态 self.pause = True # 暂停播放音乐 @@ -660,7 +660,7 @@ class Level(tool.State): # 如果暂停 if self.show_game_menu: - self.pauseAndCheckLittleMenuOptions(mouse_pos, mouse_click) + self.pauseAndCheckMenuOptions(mouse_pos, mouse_click) return if self.map_data[c.SPAWN_ZOMBIES] == c.SPAWN_ZOMBIES_LIST: