Ошибка sprite none

Программирование на Юнити.

Ошибка sprite none

Сообщение Sanitas 15 янв 2022, 17:09

На канвасе есть две кнопки графические (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е.

Я не волшебник только учусь, потому сильно прошу не пинать и помочь с решением проблемы юному подавану.)
Sanitas
UNец
 
Сообщения: 5
Зарегистрирован: 15 янв 2022, 16:56

Re: Ошибка sprite none

Сообщение Alkos26Rus 15 янв 2022, 17:30

Sanitas писал(а):Обе картинки есть в папке Sprites

Картинки должны быть еще и в папке Resources
Единица - ноль
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1282
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Re: Ошибка sprite none

Сообщение Sanitas 15 янв 2022, 17:34

Alkos26Rus писал(а):Картинки должны быть еще и в папке Resources

добавил, но всеравно проблему не решило
Sanitas
UNец
 
Сообщения: 5
Зарегистрирован: 15 янв 2022, 16:56

Re: Ошибка sprite none

Сообщение Alkos26Rus 15 янв 2022, 18:09

Sanitas писал(а):
Alkos26Rus писал(а):Картинки должны быть еще и в папке Resources

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

Попробуй добавить путь Resources.Load<Sprite>("Sprites/Eggs02");
Единица - ноль
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1282
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Re: Ошибка sprite none

Сообщение Sanitas 15 янв 2022, 18:20

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


не помогло(
Sanitas
UNец
 
Сообщения: 5
Зарегистрирован: 15 янв 2022, 16:56

Re: Ошибка sprite none

Сообщение Alkos26Rus 15 янв 2022, 18:36

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


не помогло(

Просто сделай дебаг Debug.Log(Resources.Load<Sprite>("Sprites/Eggs02")); если выдает null, значит либо не находятся в папке с ресурсаи, либо не правильное имя или путь
Единица - ноль
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1282
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Re: Ошибка sprite none

Сообщение Sanitas 15 янв 2022, 18:55

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


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

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


всё равно null (((
Sanitas
UNец
 
Сообщения: 5
Зарегистрирован: 15 янв 2022, 16:56

Re: Ошибка sprite none

Сообщение Sanitas 15 янв 2022, 19:04

всем спасибо кто отозвался и попробовал, проблему решено, оказывается:

Resources.Load работает только с размещенными активами и путем относительно папки с именем Resources ... Поэтому, если ваш спрайт не помещен, например, в. Asset/Resources/Sprites/Eggs02, очевидно, вернет null.
Sanitas
UNец
 
Сообщения: 5
Зарегистрирован: 15 янв 2022, 16:56

Re: Ошибка sprite none

Сообщение Alkos26Rus 15 янв 2022, 19:59

Sanitas писал(а):всем спасибо кто отозвался и попробовал, проблему решено, оказывается:

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

эмм, а говорил что поместил в папку с ресурсами
Единица - ноль
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1282
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 18