Unity でUI.ImageのSource Imageを変更する
Unity のイメージの元画像を変更するときに苦戦したのでそのメモ
Textureが手元にある場合
Texture texture = Resources.Load("image path") as Texture; Image img = GameObject.Find("Canvas/Panel/***").GetComponent<Image>(); img.material.mainTexture = texture;
ただし、この方法では変更したTextureが直ぐには反映されない。
SetTexture
この方法でも変更したTextureが直ぐには反映されない。
解決方法
TextureをSetするのではなく、TextureをSpriteに変換して、SpriteをSetすることで、即座に反映
なぜなのか?
そのうちなぜ、こんな挙動をするのか調べてみたいです。