
using UnityEngine;
//渐隐渐显
public class Fade : MonoBehaviour
{
public float fadeSpeed = 0.05f;//渐隐渐显速度
public bool onTirgger = false;
public bool offTirgger = false;
public CanvasGroup panle;//需要渐隐渐显的面板
public void OnTirgger()//可以通过button调用此方法开始渐显
{
onTirgger = true;
offTirgger = false;
}
public void OffTirgger()//开始渐隐
{
offTirgger = true;
onTirgger = false;
}
public void FadeToHide()
{
panle.alpha -= fadeSpeed;
panle.blocksRaycasts = false;
panle.interactable = false;
if (panle.alpha <= 0f)
{
offTirgger = false;
}
}
public void FadeToShow()
{
panle.alpha += fadeSpeed;
panle.blocksRaycasts = true;
panle.interactable = true;
if (panle.alpha >= 1f)
{
onTirgger = false;
}
}
void Start()
{
//如果需要将脚本挂载在别的地方请注释掉这一行,将需要渐隐的面板拖拽到panle
panle = this.GetComponent();
}
void Update()
{
if (onTirgger == true)
{
FadeToShow();
}
if (offTirgger == true)
{
FadeToHide();
}
if (onTirgger == true && offTirgger == true)//出现异常解决方法
{
FadeToHide();
}
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)