4.6 New UI How to change Button Image?

2019-02-10 05:43发布

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.

2条回答
啃猪蹄的小仙女
2楼-- · 2019-02-10 06:23

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.

}
查看更多
成全新的幸福
3楼-- · 2019-02-10 06:31

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

查看更多
登录 后发表回答