zoukankan      html  css  js  c++  java
  • 使用颜色插值实现屏幕淡入淡出效果

     1 public class FadeInOut : MonoBehaviour
     2     {
     3         //本类实例
     4         public static FadeInOut Instance;
     5         //控制淡入淡出的快慢
     6         public float fadeSpeed = 0.01f;
     7         //淡入淡出图片
     8         public RawImage fadeInOutImage;
     9         //控制淡入淡出图片的alpha值(0,1)
    10         private float _curValue = 1;
    11         //控制淡入的开关
    12         private bool _bFadeIn = false;
    13         //控制淡出的开关
    14         private bool _bFadeOut = false;
    15         
    16         void Awake()
    17         {
    18             Instance = this;
    19         }
    20        
    21         void Update()
    22         {
    23             if(_bFadeOut)
    24             {
    25                 FadeOut();
    26                 
    27             }
    28             else if(_bFadeIn)
    29             {
    30                 FadeIn();
    31             }
    32         }
    33         //淡入效果
    34         private void FadeIn()
    35         {
    36             fadeInOutImage.color = Color.Lerp(fadeInOutImage.color, Color.clear, Time.deltaTime * fadeSpeed);
    37             _curValue = fadeInOutImage.color.a;
    38             if (_curValue <= 0.05f)
    39             {
    40                 fadeInOutImage.color = Color.clear;
    41                 _bFadeIn = false;
    42                 //禁用Image,防止遮罩,按键不能点击
    43                 fadeInOutImage.enabled = false;
    44             }
    45         }
    46 
    47         //淡出效果
    48         private void FadeOut()
    49         {
    50             fadeInOutImage.color = Color.Lerp(fadeInOutImage.color, Color.black, Time.deltaTime * fadeSpeed);
    51             _curValue = fadeInOutImage.color.a;
    52             if (_curValue >= 0.95f)
    53             {
    54                 fadeInOutImage.color = Color.black;
    55                 _bFadeOut = false;
    56             }
    57         }
    58 
    59         //外部调用,开始淡入
    60         public void StartFadeIn()
    61         {
    62             fadeInOutImage.enabled = true;
    63             _bFadeIn = false;           
    64             _bFadeIn = true;
    65             _bFadeOut = false; 
    66         }
    67         //外部调用,开始淡出
    68         public void StartFadeOut()
    69         {
    70             fadeInOutImage.enabled = true;
    71             _bFadeIn = false;
    72             _bFadeOut = true;                   
    73         }
    74     }

    需要播放淡入效果时,在外部调用该类的StartFadeIn方法;需要播放淡出效果时,在外部调用该类的StartFadeOut方法。

  • 相关阅读:
    python学习笔记(一)--之list与tuple
    centos 安装redis3.0为解决数据库频繁插入数据IO性能问题
    Win32汇编木马初探
    Knockout自定义绑定my97datepicker
    iTextSharp给PDF添加水印
    技术资料整理
    css模拟阴影和小三角
    统计一个部门有多少人
    js登录界面带提示
    程序员给女朋友用HTML5制作的3D相册 (www.webhek.com)<转摘>
  • 原文地址:https://www.cnblogs.com/blackteeth/p/10191076.html
Copyright © 2011-2022 走看看