From 82853f92d3e7bc9bcda915c33dc165cedd7a32ba 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: Sat, 15 Nov 2025 20:44:43 +0800 Subject: [PATCH] =?UTF-8?q?fix(LGBTBullet):=20=E4=BF=AE=E5=A4=8D=E5=AD=90?= =?UTF-8?q?=E5=BC=B9=E8=BF=BD=E8=B8=AA=E9=80=BB=E8=BE=91=E5=B9=B6=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E4=B8=A2=E5=A4=B1=E7=9B=AE=E6=A0=87=E6=A3=80=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加lastDistance和missedTarget变量来检测子弹是否错过目标 当子弹与目标距离增大时标记为missedTarget停止追踪 --- scripts/Contents/Bullets/LGBTBullet.gd | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/scripts/Contents/Bullets/LGBTBullet.gd b/scripts/Contents/Bullets/LGBTBullet.gd index 327fb37..e7afdc2 100644 --- a/scripts/Contents/Bullets/LGBTBullet.gd +++ b/scripts/Contents/Bullets/LGBTBullet.gd @@ -4,14 +4,21 @@ class_name LGBTBullet var tracer: EntityBase = null var maxTraceTime: float = 0 var tracePower: float = 0 +var lastDistance: float = INF +var missedTarget: bool = false func register(): speed = 1 func ai(): speed *= 1.05 speed = clamp(speed, 0, 20) - if is_instance_valid(tracer) and timeLived() < maxTraceTime: + if !missedTarget and is_instance_valid(tracer) and timeLived() < maxTraceTime: PresetBulletAI.trace(self, tracer.getTrackingAnchor(), tracePower) PresetBulletAI.forward(self, rotation) + var currentDistance = position.distance_to(tracer.getTrackingAnchor()) + if currentDistance > lastDistance: + missedTarget = true + else: + lastDistance = currentDistance func destroy(_b): EffectController.create(ComponentManager.getEffect("LGBTBoom"), position).shot()