Всем привет.
Есть ui image и нужно, чтобы при событии заменялась картинка на другую.
Как можно заменить картинку скриптом?
Это то, что я смог сделать, но это не хочет работать:
img1.GetComponent().sprite = Resources.Load("2.png");
и так
img1.GetComponent<SpriteRenderer>().sprite = Resources.Load<Sprite>("2.png");
Предположу, что так:
img1.GetComponent<Image>().sprite = Resources.Load<Sprite>("2");
или так:
img1.GetComponent<Image>().sprite = Resources.Load("2") as Sprite;
При загрузке с ресурсов не нужно указывать расширение файлов. Загрузка ориентируется по имени. Плюс, емнип, у UI кнопок компонент не SpriteRenderer, а Image
Если не сработает .sprite, попробуй через overrideSprite, т.е.
img1.GetComponent<Image>().overrideSprite = Resources.Load<Sprite>("2");
Кстати, если img1 это ссылка на объект UI типа Image, то можно писать сразу
img1.sprite = Resources.Load<Sprite>("2");
безо всяких GetComponent<Image>()
Напомню, что при таком подходе в настройках текстуры должен быть выставлен TextureType - Sprite (2D and UI), SpriteMode - Single.
Если у картинки тип Texture, то нужно будет в начале загружать как текстуру, а потом применять Sprite.Create для создания спрайта.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости