当我改变画布的localScale时,我遇到了一个问题。首先,我想设计一个在坦克战争游戏中购买装备的功能,所以我添加了一个画布来展示装备。画布的结构如下所示:canvas ui结构
在游戏开始时,我在一个协同线中将画布的localScale从(0,0,0)更改为(1,1,1)。代码显示如下:
private IEnumerator DampCanvas(){
float dis = Vector3.Distance (rect.localScale, Vector3.one);
while (dis >= threshold) {
rect.localScale =
Vector3.SmoothDamp (rect.localScale, Vector3.one, ref eqpsSmoothVec, eqpsSmoothTime);
dis = Vector3.Distance (rect.localScale, Vector3.one);
yield return null;
}
rect.localScale = Vector3.one;
}协同线正常工作,但我在协同线之前做了一些事情:
但是问题是在ui上添加的设备没有显示,但是我确实在层次视图中看到了ui对象。
我只是在短时间内学会了团结,我不知道有什么happened.Can帮助我?
发布于 2020-05-23 15:34:01
我将检查未显示的游戏对象是否已启用(检查器左上角的enable复选框)+它们的呈现组件也已启用。此外,在场景层次结构中,它们没有任何标度=(0,0,0,0)的父级(转换参数是父级相对的,因此如果父级的标度为(0,0,0),这将传递给子级,因此子元素不会显示)
https://stackoverflow.com/questions/61966709
复制相似问题