【问题标题】:Hide gameobjects dynamically in Unity 2D在 Unity 2D 中动态隐藏游戏对象
【发布时间】:2016-08-25 03:11:59
【问题描述】:

如何动态地将对象隐藏在统一 2D 中的其他对象后面?

示例:我的场景中有一个仙人掌资源,并且希望能够在仙人掌后面放置随机数量的收藏品,以便玩家可以看到这些收藏品。如果可能的话,我也希望能够确定可见度。

http://imgur.com/Fd2AENS

【问题讨论】:

  • 您可以更改仙人掌和收藏品的深度值。或者你可以只更新 Z 值。

标签: unity5


【解决方案1】:

如果您使用的是正交相机,则 z 轴值不会产生影响。正交相机没有任何深度感。您要操作的是精灵渲染器组件上的排序层属性。

【讨论】:

    【解决方案2】:

    制作所有你想隐藏仙人掌孩子的物体。 我假设每个孩子都有一个精灵渲染器组件,因为您使用的是可见的 2d 对象。

    精灵的顺序由“排序顺序”属性决定。所以这里有一段代码给所有其他对象一个较低的顺序,所以它们排在仙人掌后面。

    SpriteRenderer[] renderers = GetComponentInChildren<SpriteRenderer> ();
    
    for(int i =0 ; i< renderers.Length; i++){
        renderers [i].sortingOrder = -1 * i;
    }
    

    此代码更改子级的顺序,但如果您想让它们不可见,请为每个子级使用 transform.enabled=false

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-22
      相关资源
      最近更新 更多