ColorCtr控制颜色渐变
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控制颜色渐变的更多相关文章
- 自定义控件之圆形颜色渐变进度条--SweepGradient
前几天在群里面有人找圆形可颜色渐变进度条,其中主要的知识点是SweepGradient: mSweepGradient = new SweepGradient(240, 360, new int[] ...
- 【.NET 与树莓派】WS28XX 灯带的颜色渐变动画
在上一篇水文中,老周演示了 WS28XX 的基本使用.在文末老周说了本篇介绍颜色渐变动画的简单实现. 在正式开始前,说一下题外话. 第一件事,最近树莓派的价格猛涨,相信有关注的朋友都知道了.所以,如果 ...
- iOS 动画绘制线条颜色渐变的折线图
效果图 .................... 概述 现状 折线图的应用比较广泛,为了增强用户体验,很多应用中都嵌入了折线图.折线图可以更加直观的表示数据的变化.网络上有很多绘制折线图的demo,有 ...
- CSS3颜色渐变模式
1.线性渐变:linear-gradient 语法:<linear-gradient> = linear-gradient([ [ <angle> | to <si ...
- 【iOS实现一个颜色渐变的弧形进度条】
在Github上看到一些进度条的功能,都是通过Core Graph来实现.无所谓正确与否,但是开发效率明显就差很多了,而且运行效率还是值得考究的.其实使用苹果提供的Core Animation能够非常 ...
- IOS导航栏颜色渐变与常用属性
(转:http://www.cnblogs.com/Lingchen-start/archive/2015/10/23/4904361.html) 今年很忙,忙的写日志的时间都很少. 少的可怜. 自 ...
- css3的背景颜色渐变@线性渐变
背景颜色渐变之线性渐变 语法形式: firefox浏览器 background:-moz-linear-gradient(position/deg,startColor,endColor); oper ...
- 颜色渐变的JS代码
今天做组织机构,要分级别显示颜色,自己计算半天也没算出颜色渐变的方法,出来总是花里胡哨的难看的不要不要的,所以查了一下,找到一个js代码,试了试,很完美哦! <!DOCTYPE html> ...
- android Button 切换背景,实现动态按钮和按钮颜色渐变
android Button 切换背景,实现动态按钮和按钮颜色渐变 一.添加android 背景筛选器selector实现按钮背景改变 1.右键单击项目->new->Oth ...
随机推荐
- java全栈day12----final static 匿名对象 内部类 包的声明与访问
final关键字概念 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承, 或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承了这些特殊类之后, ...
- JMeter上传文件 点选form-data依旧失败的解决方法
转子:https://blog.csdn.net/xingyunpi/article/details/77930476 这几天一直在调用JMeter上传文件的一个接口,一直出错,在网上找到一些文章说的 ...
- register的功能
register:这个关键字请求编译器尽可能 的将变量存在CPU内部寄存器中,而不是通过内存寻址访问,以提高效率.这里注意是尽可能,不是绝对.你想想,一个CPU拥有 的寄存器也就那么几个或几十个,你要 ...
- 【android】setOnItemClickListener cannot be used with a spinner的错误
错误提示: java.lang.RuntimeException: Unable to start activity ComponentInfo{xx activity}: java.lang.Run ...
- Centos7安装配置JDK8
Centos7安装配置JDK8 一.准备工作 第一步,去甲骨文官网下载Jdk相应的版本,我这里下载的是jdk1.8. 第二步将你从官网上下载下来的jdk使用FTP工具上传到云服务器上的相应目录,我的是 ...
- [Algorithm]线性表
一. 线性表基础算法 1.线性表插入操作 1 // 线性表插入操作(在第i(1≤i≤L.length+1)个位置上插入新元素elem) 2 bool InsertSeq( SeqList& L ...
- 【图灵学院10】高并发之java线程池源码分析
1. 提纲 1)线程池的模块结构 2)示例&原理解析 2. 问题 1)线程池包含哪些东西 2)线程池的运作原理 3)调度线程池的运作原理 4)线程池怎么实现FixRate,FixDelay,他 ...
- Ready api groovy script 参数化
def token_type =context.expand ('${#Project#token_type}') def access_token = context.expand('${#Proj ...
- P2264 情书 Trie匹配
\(\color{#0066ff}{题目描述}\) 为了帮助CYY,我们定义一个量化情书好坏的标准感动值.判断感动值的方法如下: 1.在情书的一句话中若含有给定词汇列表中的特定单词,则感动值加1,但每 ...
- javascript小菜单—demo
<!DOCTYPE html><html><head> <title></title></head><body>&l ...