From 0ab500c36284e53be9eada54597756f18ec1ac8f 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: Wed, 28 Jan 2026 22:51:12 +0800 Subject: [PATCH] =?UTF-8?q?fix(TickTool):=20=E4=BF=AE=E5=A4=8Duntil?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E4=B8=ADawait=20frame()=E7=9A=84=E4=BD=8D?= =?UTF-8?q?=E7=BD=AE=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将await frame()移到条件判断之后,确保在每次循环中都先检查条件再等待,避免不必要的等待 --- scripts/Tools/TickTool.gd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/Tools/TickTool.gd b/scripts/Tools/TickTool.gd index 4cc8014..1f987bc 100644 --- a/scripts/Tools/TickTool.gd +++ b/scripts/Tools/TickTool.gd @@ -8,9 +8,9 @@ static func frame(count: int = 1): static func until(predicate: Callable): var obj = predicate.get_object() while is_instance_valid(obj): - await frame() if predicate.call(): break + await frame() static func modifyAnimationKey(animator: AnimationPlayer, name: String, track: NodePath, trackType: Animation.TrackType, time: float, value: Variant): var animation = animator.get_animation(name) var trackIdx = animation.find_track(track, trackType)