【问题标题】:Unity, resources.loadall() returns null objectsunity,resources.loadall() 返回空对象
【发布时间】:2018-12-04 02:46:00
【问题描述】:

我正在尝试统一更改用于精灵的图像,但出现错误:NullReferenceException: Object reference not set to an instance of an object 这让我相信我的 loadall 函数不起作用,因为它返回一个空对象数组。这是我的代码:

Sprite[] sprites = Resources.LoadAll<Sprite>("Sprite/Chests");

然后我将数组与这一行一起使用:

SpriteRender.sprite = sprites[SpriteIndex];

【问题讨论】:

标签: c# unity3d


【解决方案1】:

函数Resources.LoadAll中的路径参数是来自Resources文件夹的路径,所以Sprite/Chests必须在Resources文件夹下。所以你的文件夹结构一定是这样的Resources -&gt; Sprite -&gt; Chests

【讨论】:

    【解决方案2】:

    尝试做:

    Sprite[] sprites = Resources.LoadAll("Sprite/Chests", typeof(Sprite));
    

    否则您很可能遇到路径问题,您需要将“Sprite/Chests”更改为正确的路径。

    【讨论】:

    • 您的代码行和 OP 使用的 Sprite[] sprites = Resources.LoadAll&lt;Sprite&gt;("Sprite/Chests"); 正在做同样的事情。他们只是使用相同方法的不同(旧)重载。因此,您的回答不会添加任何其他信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-29
    • 2015-02-11
    • 2020-12-21
    • 2019-04-08
    • 2012-02-22
    • 2019-07-17
    • 2018-08-03
    相关资源
    最近更新 更多