用途:在 Godot 中用 Tween 做程序化动画,覆盖一次性 UI 动效、悬停、弹窗、分数计数、后坐力等手感表现,以及镜头位移类一次性效果。资源给出 Tween 与 AnimationPlayer 的取舍决策表:一次性 UI/程序化动效选 Tween;多轨可拖拽时间线选 AnimationPlayer/AnimationTree;镜头持续跟随应用 Camera2D.position_smoothing 而非每帧新建 Tween;time_scale 为 0 的暂停菜单动效需 set_ignore_time_scale(true);可重复触发的属性需先 kill 再重建;物理体/网络校正用 TWEEN_PROCESS_PHYSICS 并 reset_physics_interpolation。
主要能力:附带多个可复用脚本,如 safe_tween_interruption.gd(可重触发时的安全打断)、time_scale_ignored_ui.gd(暂停菜单 UI 动效)、nested_subtween_cutscene.gd(用 tween_subtween 组合过场)、parallel_popup_animation.gd(set_parallel 加 chain 的多属性 UI 过渡)、text_counter_method_tween.gd(tween_method 处理非属性值如分数文本)、custom_curve_tween.gd(自定义 Curve 缓动)、camera_shake_tween_logic.gd(循环 Tween 做屏幕抖动偏移)、relative_recoil_tween.gd(as_relative/from_current 做后坐力)、staggered_inventory_entry.gd、looped_hover_vfx.gd,以及集中调度用的 juice_manager.gd 与 tween_builder.gd。还给出生命周期范例:先 kill 有效 Tween,再 create_tween().bind_node(self),设置 set_ease/set_trans 后 tween_property。
限制与禁忌:禁止用 Tween.new(),只能用 create_tween() 或 get_tree().create_tween();已结束的 Tween 不可复用,需重建;不可手写 PropertyTweener/CallbackTweener;不可用仅含 0 时长的无限循环;同一属性不可同时用多个 Tween 驱动,需先 kill;UI/手感避免线性插值,优先 EASE_OUT+TRANS_QUAD 或 EASE_IN_OUT+TRANS_CUBIC;无防护的 _process 中每秒 60 次建 Tween 会导致崩溃;非全局 Tween 应 bind_node(self);状态切换不要用 0 时长 Tween;从 set_parallel(true) 返回别忘 chain()。深度配方见 tween-recipes-and-gotchas.md,更多细节可查官方文档的 Tween、PropertyTweener、MethodTweener、CallbackTweener、IntervalTweener、SubtweenTweener 等页面。