【问题标题】:Access image/sprite from project folder instead of Hierarchy (scene)从项目文件夹而不是层次结构(场景)访问图像/精灵
【发布时间】:2015-04-19 08:24:35
【问题描述】:

我正在尝试使用场景中另一个 GameObject 中的图像更改附加到 GameObject 的 SpriteRenderer 组件的图像。访问其他对象的 SpriteRenderer 组件并替换图像很简单。

tile.GetComponentInChildren<SpriteRenderer>().sprite = GameObjectA.GetComponentInChildren<SpriteRenderer>().sprite;

但是由于我使用多个图像进行操作,所以我想知道是否有一种方法可以从项目文件夹中访问此图像,即“Unity Project”,而不是创建独立的游戏对象并因此附加 SpriteRenderer 并因此引用独立的精灵/图像。

tile.GetComponentInChildren<SpriteRenderer>().sprite = ???

【问题讨论】:

    标签: c# unity3d


    【解决方案1】:

    基本上,您想要做的是通过某种方式从 MonoBehaviour 中引用资产。在 Unity 中有一个非常简单的方法:创建该类型的公共字段(字段,而不是属性)(在本例中为 Sprite),然后单击带有此 MonoBehaviour 的游戏对象,您会看到场。您可以使用单个实体、数组或列表来执行此操作,代码如下所示:

    public SomeBehaviour : MonoBehaviour {
    
        public Sprite SomeSprite;
        public Sprite[] SomeSpriteArray;
    
    }
    

    然后,您可以通过将其拖到字段中或打开右侧带有圆形按钮的对话框来为其分配资产。

    【讨论】:

    • @Daqs 很高兴为您提供帮助。如果您发现答案正确且有帮助,请考虑将其标记为已接受。
    • 抱歉耽搁了。我刚做了。
    猜你喜欢
    • 1970-01-01
    • 2016-03-30
    • 1970-01-01
    • 1970-01-01
    • 2014-09-03
    • 1970-01-01
    • 2014-03-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多