今天工作时 以前的人写的代码 测试 测出来一个BUG
实例化出来的物体 Scale 值,会随着 Screen 改变而改变
看代码是发现问题的所在是因为 实例化物体后 又用到 SetParent 方法
下面说一下
解决方案
实例化某个预制体时, 没有指定父节点参数
实例化方法
///方法一
GameObject clone = UnityEngine.GameObject.Instantiate(prefab)
使用方法一的时 会先把克隆出来的预制体放到场景里
然后再使用 SetParent 方法时 Scale 值会产生相应的变化
方法一解决方案是
在执行一遍
clone.transforam.localScale = new Vector3(1, 1, 1)
还有一种方法是 实例化方法是可以指定 父节点参数的
///方法二
GameObject.Instantiate(prefab, parent)
方法二 比较安全
指定父节点后 会在父节点下直接实例化出物体,这样实例化是不需要再更改父节点
以免出现 Scale值改变 或其他相关问题