使用方法:
1.将以下代码悬挂在需要反馈UI的属性面板上
2.选择想要反馈的模式enterImage(改变图片) enterColor(改变颜色)
3.可以自定义添加反馈效果,已经定义好枚举类EffectModel
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class ButtonEffectHelp : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler, IPointerClickHandler
{
public EffectModel _effectModel;
public Sprite enterImage;
public Color enterColor;
private Sprite beginImage;
private Color beginColor;
private Image _image;
private void Start()
{
_image = transform.GetComponent<Image>();
beginImage = _image.sprite;
beginColor = _image.color;
}
public void OnPointerEnter(PointerEventData eventData)
{
switch (_effectModel)
{
case EffectModel.IMAGE:
_image.sprite = enterImage;
break;
case EffectModel.COLOR:
_image.color = enterColor;
break;
default:
break;
}
}
public void OnPointerExit(PointerEventData eventData)
{
switch (_effectModel)
{
case EffectModel.IMAGE:
_image.sprite = beginImage;
break;
case EffectModel.COLOR:
_image.color = beginColor;
break;
default:
break;
}
}
void IPointerClickHandler.OnPointerClick(PointerEventData eventData)
{
switch (_effectModel)
{
case EffectModel.IMAGE:
_image.sprite = beginImage;
break;
case EffectModel.COLOR:
_image.color = beginColor;
break;
default:
break;
}
}
public enum EffectModel
{
IMAGE,
COLOR
}
}