无法实例化多精灵

问题描述 投票:0回答:1

我似乎无法加载精灵运行时。

我有一个主网格对象,在网格上我有一个TerrainDrawer组件。

脚本的代码:

void Start()
{
    Sprite[] myFruit = Resources.LoadAll<Sprite>("Sprites/multisprite");

    foreach(var sprite in myFruit)
    {
        print("sprite : " + sprite.name);
    }

    /*var spritePath = "Sprites/225835_hyptosis_tile-art-batch-1";
    //GameObject go = new GameObject();*/

    SpriteRenderer renderer = gameObject.AddComponent<SpriteRenderer>();
    renderer.sprite = myFruit[0];


    //renderer.sprite = Resources.Load(spritePath , typeof(Sprite)) as Sprite;
}

我想要使​​用的精灵:

enter image description here enter image description here

当我启动游戏时,我收到此错误:

IndexOutOfRangeException:索引超出了数组的范围。 TerrainDrawer.Start()(在Assets / Scripts / TerrainDrawer.cs:21)

我有一种强烈的感觉,我的问题是通过精灵的路径,但现在重要的是我尝试,我不能让它加载。

有什么建议?

unity3d sprite
1个回答
1
投票

要从代码中的资源加载,必须存在一个名为Resources的文件夹,其中包含该sprite。你基本上加载一个空数组,这就是你得到一个超出范围错误的原因。

Take a look at this page from the docs.

希望这可以帮助!

© www.soinside.com 2019 - 2024. All rights reserved.