我在更改画布的本地比例时遇到了问题。 首先,我想设计一个在坦克战争游戏中购买装备的功能,所以我添加一个画布来展示装备。画布的结构如下所示: 画布用户界面结构
在游戏开始时,我在协程中将画布的局部比例从 (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上添加当前坦克已购买的所有设备
但问题是在 ui 上添加的设备没有显示,但我确实在层次结构视图中看到了 ui 对象。
游戏开始
层次结构视图
我只是短暂地学会了团结,我不知道发生了什么。有人可以帮助我吗?
我会检查未显示的 gamobjects 是否已启用(检查器左上角的启用复选框(+ 它们的渲染组件也已启用。此外,它们在场景层次结构中没有任何比例 = (0,0,0( 的父参数(变换参数是父参数的父参数,因此如果父级的比例为 (0,0,0(,这将传递给子项,因此子项不会显示(