diff --git a/assets/script/game/map/CardComp.ts b/assets/script/game/map/CardComp.ts index c89267d0..031552ab 100644 --- a/assets/script/game/map/CardComp.ts +++ b/assets/script/game/map/CardComp.ts @@ -1038,9 +1038,18 @@ export class CardComp extends CCComp { if (token !== this.iconVisualToken) { return; } - this.clearAnimationClips(anim); - anim.addClip(clip); - anim.play("idle"); + // 节点可能已在异步加载期间被销毁(如 cacheCardComps 重新实例化) + if (!node || !node.isValid) { + return; + } + // 重新获取 Animation 组件,防止原组件已被移除 + const animComp = node.getComponent(Animation); + if (!animComp) { + return; + } + this.clearAnimationClips(animComp); + animComp.addClip(clip); + animComp.play("idle"); }); }