Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

4.6 New UI How to change Button Image?

Everything I search is based on the old UI.

I've tried the following

button.image = Resource.Load<Image>("...");
button.GetComponent<Image>() = Resources.Load<Image>("....");
button.GetComponent<Button>().image = Resources.Load<Image>("....");
button.GetComponent<Image>().sprite = Resources.Load<Sprite>("....");

I want to change the button image on an event.

like image 389
Mastro Avatar asked Jan 04 '15 00:01

Mastro


2 Answers

Tested and Working.

public Sprite myImage;
public Button myBtn;
void Start(){

         myImage = Resources.Load<Sprite>("BTNS"); // Make sure not to include the file extension

         //Make sure it is added in the Inspector. Or reference it using GameObject.Find.
         myBtn.image.sprite = myImage; // That is right, no need to GetComponent.

}
like image 71
Aizen Avatar answered Nov 16 '22 19:11

Aizen


Also you can use the properties of Button Component

http://docs.unity3d.com/Manual/script-Button.html

Specifically you can set the button's behavior based on events.

Example:

Empty properties

And then :

Button with sprite swap behavior on events

like image 28
mayo Avatar answered Nov 16 '22 18:11

mayo