实现根据鼠标悬浮,控制UI的显示与隐藏,运行效果如下:
首先,需要添加CanvasGroup 组件,主要修改里面的Alpha参数
再添加Event Trigger组件,添加触发相应的事件
添加控制脚本
直接上代码
private CanvasGroup canvasGroup;
void Start()
{
canvasGroup = GetComponent<CanvasGroup>();
}
public void EnterShow()
{
canvasGroup.alpha= 1;
}
public void ExitHide()
{
canvasGroup.alpha= 0;
}
功能是实现了,但是效果是瞬时变化的,可以进一步优化,为它添加渐变效果,直接修改代码:
private CanvasGroup canvasGroup;
private float alpha = 0;
private float speed = 2;
void Start()
{
canvasGroup = GetComponent<CanvasGroup>();
}
void Update()
{
canvasGroup.alpha = Mathf.Lerp(canvasGroup.alpha, alpha, speed * Time.deltaTime);
}
public void EnterShow()
{
alpha = 1;
}
public void ExitHide()
{
alpha = 0;
}