Подтвердить что ты не робот

Почему Resource.Load <Sprite> возвращает значение null?

В моем проекте есть несколько спрайтов, расположенных в Assets\Sprites, которые я хочу загрузить с помощью С# script.

Я протестировал это:

Sprite myFruit = Resources.Load <Sprite> ("Graphics_3");

Но myFruit по-прежнему является нулевым.

4b9b3361

Ответ 1

Resources.Load будет искать каталог в Assets/Resources.

Если вы хотите поместить его в каталог Sprites, тогда поместите его внутри Resources (пример Assets/Resources/Sprites).

Затем вы можете просто загрузить его следующим образом:

Sprite myFruit = Resources.Load <Sprite> ("Sprites/Graphics_3");

Также убедитесь, что вы установили свой тип изображения в Sprite в инспекторе.

Если вы хотите загрузить несколько спрайтов, используйте это:

Sprite[] myFruit = Resources.LoadAll <Sprite> ("Sprites/Graphics_3");  

Подробнее см. .

Ответ 2

Поместите awesome.png в Assets/Resources/ (у вас могут быть подпапки) и используйте:

GetComponent<SpriteRenderer>().sprite = 
    Resources.Load<Sprite>("awesome");  // No file extension.

http://docs.unity3d.com/ScriptReference/Resources.html

Там также LoadAll, который "загружает все активы в папку или файл по пути в папке" Ресурсы".

Ответ 3

Вам нужно ввести полный путь к активу. В этом случае попробуйте использовать путь "Sprites/Graphics_3".

Ответ 4

    Sprite sp = Resources.LoadAll<Sprite> ("Sprites/AI-Avtar") [2] as Sprite;

Ответ 5

Ресурсы. Загрузка выполняется в каталоге "Активы/ресурсы" Вот почему вам нужно сделать

_sprites = Resources.LoadAll<Sprite>(spritesPath);

или

_sprites = Resources.Load<Sprite>(spritesPath);

с spritesPath как относительный путь. Если вам нужно загрузить все из папки "Assets/Resources/Sprites", вам нужно написать только "Sprites".

после этого вы можете просто сделать следующее:

var sprite = sprites[0];

или

var sprite = _sprites.Where(a => a.name == "Sprite_Name_Needed").First();

Ответ 6

Ссылка на сценарий Unity не говорит о необходимости писать <Sprite> сразу после Load. Поэтому у меня была проблема с загрузкой спрайтов, хотя мой спрайт был в папке Ресурсы.