В моем проекте есть несколько спрайтов, расположенных в Assets\Sprites, которые я хочу загрузить с помощью С# script.
Я протестировал это:
Sprite myFruit = Resources.Load <Sprite> ("Graphics_3");
Но myFruit
по-прежнему является нулевым.
В моем проекте есть несколько спрайтов, расположенных в Assets\Sprites, которые я хочу загрузить с помощью С# script.
Я протестировал это:
Sprite myFruit = Resources.Load <Sprite> ("Graphics_3");
Но myFruit
по-прежнему является нулевым.
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");
Подробнее см. .
Поместите awesome.png
в Assets/Resources/
(у вас могут быть подпапки) и используйте:
GetComponent<SpriteRenderer>().sprite =
Resources.Load<Sprite>("awesome"); // No file extension.
http://docs.unity3d.com/ScriptReference/Resources.html
Там также LoadAll, который "загружает все активы в папку или файл по пути в папке" Ресурсы".
Вам нужно ввести полный путь к активу. В этом случае попробуйте использовать путь "Sprites/Graphics_3".
Sprite sp = Resources.LoadAll<Sprite> ("Sprites/AI-Avtar") [2] as Sprite;
Ресурсы. Загрузка выполняется в каталоге "Активы/ресурсы" Вот почему вам нужно сделать
_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();
Ссылка на сценарий Unity не говорит о необходимости писать <Sprite>
сразу после Load
. Поэтому у меня была проблема с загрузкой спрайтов, хотя мой спрайт был в папке Ресурсы.