diff --git a/assets/script/game/hero/Mon.ts b/assets/script/game/hero/Mon.ts index 9f1002c4..6f8bfd5d 100644 --- a/assets/script/game/hero/Mon.ts +++ b/assets/script/game/hero/Mon.ts @@ -136,6 +136,8 @@ export class Monster extends ecs.Entity { if (!node) { var prefab: Prefab = oops.res.get(path, Prefab)!; node = instantiate(prefab); + // 记录预制体的初始缩放值,防止对象池复用时累乘导致无限变大 + (node as any)._baseScale = node.scale.clone(); } // 统一挂到实体显示层 HERO 节点下 @@ -147,7 +149,8 @@ export class Monster extends ecs.Entity { collider.enabled = false; } - node.setScale(size*node.scale.x,size*node.scale.y); + let baseScale = (node as any)._baseScale || v3(1, 1, 1); + node.setScale(size * baseScale.x, size * baseScale.y); node.setPosition(pos) const model = this.get(HeroAttrsComp); // 从配置表获取怪物静态数据