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().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