首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在统一协同线中更改画布localScale时的ui问题

在统一协同线中更改画布localScale时的ui问题
EN

Stack Overflow用户
提问于 2020-05-23 02:29:44
回答 1查看 157关注 0票数 1

当我改变画布的localScale时,我遇到了一个问题。首先,我想设计一个在坦克战争游戏中购买装备的功能,所以我添加了一个画布来展示装备。画布的结构如下所示:canvas ui结构

在游戏开始时,我在一个协同线中将画布的localScale从(0,0,0)更改为(1,1,1)。代码显示如下:

代码语言:javascript
复制
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对象。

游戏开始

层次视图

我只是在短时间内学会了团结,我不知道有什么happened.Can帮助我?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-23 15:34:01

我将检查未显示的游戏对象是否已启用(检查器左上角的enable复选框)+它们的呈现组件也已启用。此外,在场景层次结构中,它们没有任何标度=(0,0,0,0)的父级(转换参数是父级相对的,因此如果父级的标度为(0,0,0),这将传递给子级,因此子元素不会显示)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61966709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档