Всем привет.
Есть 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
для создания спрайта.
Коротко опишу проблему: нужна программа зашитая в установщик Windows Installer и при этом небольшого размераРаботаю с WMI, событиями WMI в частности
Делаю динамическое подключение классов и возникла необходимость вынести код в dll библиотекуПо умолчанию System