ColorCtr控制颜色渐变

public class ColorCtr : MonoBehaviour

{

public static global_color Instance;         //方便外部调用

public float speed = 1F;             //定义速度

public GameObject goRawImage;            //定义遮挡Object

private RawImage _image;              //定义遮挡图片

private bool _toClear = true;            //定义变亮bool

private bool _toBlack = false;           //定义变暗bool

//初始化

void Awake()

{

//调用实例

Instance = this;

//判断是否有遮挡物、找到遮挡图片

if (goRawImage)

{

_image = goRawImage.GetComponent<RawImage>();

}

}

//外部调用,改变bool变亮

public void setToClear()

{

_toClear = true;

_toBlack = false;

}

//外部调用,改变bool变暗

public void setToBlack()

{

_toClear = false;

_toBlack = true;

}

//改变颜色插值变亮方法

private void FadeToClear()

{

_image.color = Color.Lerp(_image.color, Color.clear, speed*Time.deltaTime);

}

//改变颜色插值变暗方法

private void FadeToBlack()

{

_image.color = Color.Lerp(_image.color, Color.black, speed * Time.deltaTime);

}

//变亮方法的具体实现

private void SceneToClear()

{

//调用改变颜色变亮插值

FadeToClear();

//颜色彻底改变

if (_image.color.a <= 0.05)

{

_image.color = Color.clear;

_image.enabled = false;

_toClear = false;

}

}

//变暗方法的具体实现

private void SceneToBlack()

{

//打开image

_image.enabled = true;

//调用改变颜色变暗插值

FadeToBlack();

//颜色彻底改变

if (_image.color.a >= 0.95)

{

_image.color = Color.black;

_toClear = false;

}

}

//时刻检测bool变量是否改变,调用方法

void Update()

{

if (_toClear)

{

//调用变亮方法

SceneToClear();

}

else if (_toBlack)

{

//调用变暗方法

SceneToBlack();

}

}

}

注:需要有 goRawImage遮挡物、_image遮挡图片,通过调用setToClear和setToBlack方法具体实现、、、

ColorCtr控制颜色渐变的更多相关文章

  1. 自定义控件之圆形颜色渐变进度条--SweepGradient

    前几天在群里面有人找圆形可颜色渐变进度条,其中主要的知识点是SweepGradient: mSweepGradient = new SweepGradient(240, 360, new int[] ...

  2. 【.NET 与树莓派】WS28XX 灯带的颜色渐变动画

    在上一篇水文中,老周演示了 WS28XX 的基本使用.在文末老周说了本篇介绍颜色渐变动画的简单实现. 在正式开始前,说一下题外话. 第一件事,最近树莓派的价格猛涨,相信有关注的朋友都知道了.所以,如果 ...

  3. iOS 动画绘制线条颜色渐变的折线图

    效果图 .................... 概述 现状 折线图的应用比较广泛,为了增强用户体验,很多应用中都嵌入了折线图.折线图可以更加直观的表示数据的变化.网络上有很多绘制折线图的demo,有 ...

  4. CSS3颜色渐变模式

       1.线性渐变:linear-gradient 语法:<linear-gradient> = linear-gradient([ [ <angle> | to <si ...

  5. 【iOS实现一个颜色渐变的弧形进度条】

    在Github上看到一些进度条的功能,都是通过Core Graph来实现.无所谓正确与否,但是开发效率明显就差很多了,而且运行效率还是值得考究的.其实使用苹果提供的Core Animation能够非常 ...

  6. IOS导航栏颜色渐变与常用属性

    (转:http://www.cnblogs.com/Lingchen-start/archive/2015/10/23/4904361.html) 今年很忙,忙的写日志的时间都很少.  少的可怜. 自 ...

  7. css3的背景颜色渐变@线性渐变

    背景颜色渐变之线性渐变 语法形式: firefox浏览器 background:-moz-linear-gradient(position/deg,startColor,endColor); oper ...

  8. 颜色渐变的JS代码

    今天做组织机构,要分级别显示颜色,自己计算半天也没算出颜色渐变的方法,出来总是花里胡哨的难看的不要不要的,所以查了一下,找到一个js代码,试了试,很完美哦! <!DOCTYPE html> ...

  9. android Button 切换背景,实现动态按钮和按钮颜色渐变

        android Button 切换背景,实现动态按钮和按钮颜色渐变 一.添加android 背景筛选器selector实现按钮背景改变     1.右键单击项目->new->Oth ...

随机推荐

  1. 查看Linux各发行版本方法

    SUSE: cat /etc/SuSE-release   Slackware: cat /etc/slackware-version   Redhat: cat /etc/redhat-releas ...

  2. MediaRecorder录像那些事

    最近在做一个项目需要运用到MediaRecorder的API,之前都没接触过这部分,开始着手弄的时候各种各样的问题,真是让人崩溃呀! 最后通过网上的资料和大神的指点,当然也有自己几天坚持不懈的努力,终 ...

  3. Bugly升级应用集成指南

    1.配置 app/build.gradle android { defaultConfig { ndk { //设置支持的SO库架构 abiFilters 'armeabi' //, 'x86', ' ...

  4. 最新Android的SDK版本与API Level的对应关系

    Android   7.1.1                                   API Level  25   Android   7.0                     ...

  5. c# dictionary,list排序

    Dictionary Key排序 Dictionary<string, string> dct= new Dictionary<string, string>(); Dicti ...

  6. EIP权限工作流升级说明-2019/3/12

    流程配置界面,允许流程处理按钮名称自定义:适用于流程过程中显示不同字面意思.流程节点按钮配置界面 流程处理过程中

  7. [Algorithm]栈和队列

    一.栈和队列综合(算法) 1.判断单链表(带头结点)的结点值(字符型)是否中心对称 1 bool IsSymmetry( LinkList& L ) 2 { 3 char S[MAXSIZE] ...

  8. 「BZOJ 3994」「SDOI 2015」约数个数和「莫比乌斯反演」

    题意 设\(d(x)\)为\(x\)的约数个数,求\(\sum_{i=1}^{n}\sum_{j=1}^{m}d(ij)\). 题解 首先证个公式: \[d(ij) = \sum_{x|i}\sum_ ...

  9. ubantu一些资料

    1.在引导页面中选中win10 按E键 进入编辑 在最后一行后面加上一行ntldr /bootmgr 再按F10引导,发现可以进入windows10 2.ubantu安装qq https://lear ...

  10. go语言实战教程之管理员查询功能、退出功能

    前面第10节课内容中已经学习开发完成了管理员登陆功能.本节课我们将继续学习开发完成管理员信息查询功能.管理员退出功能 管理员信息查询功能 请求及路由映射 管理员信息查询接口 接口名称:获取管理员信息. ...