下面上代码,做功能的时候发现自己的逻辑怎么看都没问题,但是调用携程的时候走了一遭就没了 后续的都没了 这时只需优雅地重启unity即可,原来自己debug了半个小时,最后发现重启就可以了
void Start()
{
minSizeV = new Vector3(minSize, minSize, minSize);
maxSizeV = new Vector3(maxSize, maxSize, maxSize);
targetSizeScale = maxSizeV;
ReChng();
}
IEnumerator ChangeSize(object o) {
//Debug.LogError("ChangeSize");
//Debug.LogError(targetSizeScale);
//Debug.LogError(transform.localScale);
//Debug.LogError(Util.IsVector3Same(transform.localScale, targetSizeScale));
while (!Util.IsVector3Same(transform.localScale, targetSizeScale)) {
transform.localScale = Vector3.Lerp(transform.localScale, targetSizeScale, chngSpd);
//Debug.LogError("ChangeSize ing");
yield return null;
}
//Debug.LogError(targetSizeScale);
//Debug.LogError(transform.localScale);
//Debug.LogError(Util.IsVector3Same(transform.localScale, targetSizeScale));
ReChng();
}
void ReChng() {
if (targetSizeScale == maxSizeV) {
targetSizeScale = minSizeV;
//Debug.LogError("targetSizeScale minSizeV");
}
else {
targetSizeScale = maxSizeV;
//Debug.LogError("targetSizeScale maxSizeV");
}
//Debug.LogError("ReChng");
Util.ReStartCoroutine(this, ref chngSizeCor, ChangeSize);
}
2 GetComponentInParent的隐藏bug 如果是这样调用 :GetComponentInParent() 那么获得的将是执行这段代码的类 获得组件所在的物体也是执行GetComponentInParent的物体