From ad63aacf94295aba52f4fa7d3fa33e24249f44b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=A8=E8=90=BD=E5=9F=BA=E5=9B=B4=E8=99=BE?= <3161880837@qq.com> Date: Fri, 8 May 2026 15:57:03 +0800 Subject: [PATCH] =?UTF-8?q?fix(CameraManager):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E7=9B=B8=E6=9C=BA=E9=9C=87=E5=8A=A8=E7=BB=93=E6=9D=9F=E5=90=8E?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E6=9C=AA=E9=87=8D=E7=BD=AE=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在震动结束后添加shaking状态重置,确保相机震动行为正确终止 --- scripts/Tools/Managers/CameraManager.gd | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/Tools/Managers/CameraManager.gd b/scripts/Tools/Managers/CameraManager.gd index 35f0c5d..cb89bbf 100644 --- a/scripts/Tools/Managers/CameraManager.gd +++ b/scripts/Tools/Managers/CameraManager.gd @@ -23,11 +23,13 @@ static func shake(millseconds: float, intensity: float = 10, steper: Callable = if StarterPanel.buildingShader: return var startTime = WorldManager.getTime() instance.shakeIntensity = intensity + instance.shaking = true await TickTool.until( func(): instance.shakeIntensity = steper.call(instance.shakeIntensity, intensity, 1 - (WorldManager.getTime() - startTime) / millseconds) return WorldManager.getTime() - startTime >= millseconds || !instance.shaking ) + instance.shaking = false instance.shakeIntensity = 0 static func shakeStop(): instance.shaking = false