From ba32ccdbba648e4c8c30d9bb3b9fa537dfe0e67c 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: Sun, 10 May 2026 15:02:37 +0800 Subject: [PATCH] =?UTF-8?q?fix(BigLaser):=20=E4=BF=AE=E5=A4=8D=E8=B7=B3?= =?UTF-8?q?=E5=B8=A7=E5=AF=BC=E8=87=B4=E4=BC=A4=E5=AE=B3=E6=A3=80=E6=B5=8B?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在applyDot函数中添加等待一帧的逻辑,确保伤害检测不会因跳帧而失效 --- scripts/Contents/Bullets/BigLaser.gd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/Contents/Bullets/BigLaser.gd b/scripts/Contents/Bullets/BigLaser.gd index e2de8b7..7840db7 100644 --- a/scripts/Contents/Bullets/BigLaser.gd +++ b/scripts/Contents/Bullets/BigLaser.gd @@ -7,13 +7,13 @@ var executeAtk: float = 0.25 func spawn(): CameraManager.shake(5000, 100) # 激光会运行5秒(5000毫秒),期间震屏超高强度 CameraManager.playAnimation("bigLaser") - baseDamage *= launcher.fields[FieldStore.Entity.ATTACK_SPEED] func ai(): rotation = lerp_angle(rotation, ((launcher.currentFocusedPosition - position).angle()), 0.1) position = launcher.texture.global_position func applyDot(): hitbox.disabled = true await TickTool.millseconds(dotTime / launcher.fields[FieldStore.Entity.ATTACK_SPEED]) + await TickTool.frame() # 等至少一帧,防止跳帧导致没检测到伤害 hitbox.disabled = false await TickTool.millseconds(dotTime / launcher.fields[FieldStore.Entity.ATTACK_SPEED]) await TickTool.frame() # 等至少一帧,防止跳帧导致没检测到伤害