fix(怪物): 修复对象池复用导致怪物无限放大的问题

记录预制体初始缩放值,避免重复乘算
This commit is contained in:
panw
2026-04-08 10:05:56 +08:00
parent 9dd0861df1
commit 4a6f19ae8b

View File

@@ -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);
// 从配置表获取怪物静态数据