using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; // 鼠标移入时图片样式发生改变 public class EnterImageUIChange : MonoBehaviour,IPointerEnterHandler,IPointerExitHandler { private Image image; // 被改变的图片 /** * 移入时只会改变图片的透明度 * 移出时默认恢复到白色,当有点击按钮时会恢复到点击后的颜色 */ public bool changeColor = true; // 是否改变颜色 private Color enterColor; // 移入颜色 public Color exitColor=Color.white; // 移出颜色 public bool changeCursor = true; // 是否改变光标 private Texture2D handCursor; // 用于存放小手光标图标 public Vector2 hotSpot = new Vector2(0, 0); // 设置光标热点 private void Start() { image = GetComponent(); handCursor = Resources.Load("Cursor/MouseCursor"); } public void OnPointerEnter(PointerEventData eventData) { enterColor = image.color; exitColor = image.color; enterColor.a = 0.5f; if(changeColor)image.color = enterColor; if(changeCursor)Cursor.SetCursor(handCursor, hotSpot, CursorMode.Auto); } public void OnPointerExit(PointerEventData eventData) { if(changeColor)image.color = exitColor; if(changeCursor)Cursor.SetCursor(null, Vector2.zero, CursorMode.Auto); } }