using UnityEngine;
using UnityEngine.UI;
public class Test : MonoBehaviour
{
public Button button;
public Sprite normalSprite; //正常图片
public Sprite highlightedSprite; //高亮图片
public Sprite pressedSprite; //点击图片
public Sprite disabledSprite; //禁用图片
private void Start()
{
button.GetComponent<Image>().sprite = normalSprite;
//将按钮变化模式改为 SpriteSwap
button.transition = Selectable.Transition.SpriteSwap;
//设置变化状态
SpriteState state = new SpriteState();
state.highlightedSprite = highlightedSprite;
state.pressedSprite = pressedSprite;
state.disabledSprite = disabledSprite;
button.spriteState = state;
}
}
制作按钮的过程中,发现鼠标点下按钮离开后,按钮还是处于Highlighted状态,只有再点击一次其他地方,按钮才会回复正常的状态。而我们想要的是鼠标离开按钮后恢复原有的状态。解决的方法就是把Navigation设置成None