Страница 1 из 1

Ошибка sprite none

СообщениеДобавлено: 15 янв 2022, 17:09
Sanitas
На канвасе есть две кнопки графические (UI->Button). по нажатию на вторую выполняется вот такой скрипт:

Синтаксис:
Используется csharp
       
But1 = GameObject.FindGameObjectWithTag("ButtonEgg");
But1.GetComponent<Image>().sprite = Resources.Load<Sprite>("Eggs02");
 


Он должен заменить в первой кнопке значение в компонент Image спрайт дефолтный Eggs01 на Eggs02. Но вместо того выдает sprite none и белый прямоугольник.
Обе картинки есть в папке Sprites, в инспекторе выставлено Sprite (2D and UI), а в Sprite mode выставлено Singlе.

Я не волшебник только учусь, потому сильно прошу не пинать и помочь с решением проблемы юному подавану.)

Re: Ошибка sprite none

СообщениеДобавлено: 15 янв 2022, 17:30
Alkos26Rus
Sanitas писал(а):Обе картинки есть в папке Sprites

Картинки должны быть еще и в папке Resources

Re: Ошибка sprite none

СообщениеДобавлено: 15 янв 2022, 17:34
Sanitas
Alkos26Rus писал(а):Картинки должны быть еще и в папке Resources

добавил, но всеравно проблему не решило

Re: Ошибка sprite none

СообщениеДобавлено: 15 янв 2022, 18:09
Alkos26Rus
Sanitas писал(а):
Alkos26Rus писал(а):Картинки должны быть еще и в папке Resources

добавил, но всеравно проблему не решило

Попробуй добавить путь Resources.Load<Sprite>("Sprites/Eggs02");

Re: Ошибка sprite none

СообщениеДобавлено: 15 янв 2022, 18:20
Sanitas
Alkos26Rus писал(а):Попробуй добавить путь Resources.Load<Sprite>("Sprites/Eggs02");


не помогло(

Re: Ошибка sprite none

СообщениеДобавлено: 15 янв 2022, 18:36
Alkos26Rus
Sanitas писал(а):
Alkos26Rus писал(а):Попробуй добавить путь Resources.Load<Sprite>("Sprites/Eggs02");


не помогло(

Просто сделай дебаг Debug.Log(Resources.Load<Sprite>("Sprites/Eggs02")); если выдает null, значит либо не находятся в папке с ресурсаи, либо не правильное имя или путь

Re: Ошибка sprite none

СообщениеДобавлено: 15 янв 2022, 18:55
Sanitas
Alkos26Rus писал(а):Просто сделай дебаг Debug.Log(Resources.Load<Sprite>("Sprites/Eggs02")); если выдает null, значит либо не находятся в папке с ресурсаи, либо не правильное имя или путь


да выдает null, но точно спрайт есть в папке и даже пробовал скопировать путь через контекстное меню

Синтаксис:
Используется csharp
Debug.Log(Resources.Load<Sprite>("Assets/Sprites/Eggs02"));


всё равно null (((

Re: Ошибка sprite none

СообщениеДобавлено: 15 янв 2022, 19:04
Sanitas
всем спасибо кто отозвался и попробовал, проблему решено, оказывается:

Resources.Load работает только с размещенными активами и путем относительно папки с именем Resources ... Поэтому, если ваш спрайт не помещен, например, в. Asset/Resources/Sprites/Eggs02, очевидно, вернет null.

Re: Ошибка sprite none

СообщениеДобавлено: 15 янв 2022, 19:59
Alkos26Rus
Sanitas писал(а):всем спасибо кто отозвался и попробовал, проблему решено, оказывается:

Resources.Load работает только с размещенными активами и путем относительно папки с именем Resources ... Поэтому, если ваш спрайт не помещен, например, в. Asset/Resources/Sprites/Eggs02, очевидно, вернет null.

эмм, а говорил что поместил в папку с ресурсами