在Unity5中使用C#脚本实现UI的下滑、变色、渐隐渐现效果
一、首先,我们先创建一个Text
依次选择Component→UI→Text创建一个Text,创建完成后如下:

二、创建完成后,在Project面板点击Create→C# Script,本例命名为InAndFade
三、编写代码之前,为了确保能够调用到Text类,所以要先手动引入命名空间
public class InAndFade : MonoBehaviour
{
//渐隐渐现
public bool Show = true;
public bool Fade = false;
public float duration = 2.5f;
public float timeFromStart = 0f; //从场景加载开始经过这些时间后再发生
//向下滑动
public bool isSlide = true; //是否从上往下滑动
public float offset = -1.0f; //偏差为10
//变色
public bool isChangeColor = true;
//等待
private bool wait = true;
void Start()
{
if (Show && Fade)
{
Fade = false;
}
else if (!Show && !Fade)
{
Show = true;
}
}
IEnumerator Wait()
{
yield return new WaitForSeconds(timeFromStart);
}
void Update()
{
#region 变色代码
if (isChangeColor)
{
Color nowColor = gameObject.GetComponent<Text>().color;
if (nowColor.r != && nowColor.g != && nowColor.b != )
{
nowColor.r--;
nowColor.g += 2.8f;
nowColor.b += 0.9f;
}
gameObject.GetComponent<Text>().color = nowColor;
if (nowColor.g >= && nowColor.g <= )
{
nowColor.g--;
}
}
#endregion
#region 滑动代码
if (isSlide)
{
Vector3 initialPos = gameObject.GetComponent<Transform>().position;
float posProportion = Time.time / duration;
Vector3 nowPos = new Vector3(initialPos.x, Mathf.Lerp(initialPos.y + offset, initialPos.y, posProportion), initialPos.z);
gameObject.transform.position = nowPos;
}
#endregion
#region 渐隐渐现代码
if (wait)
{
StartCoroutine(Wait());
}
if (Fade)
{
if (Time.time > duration)
{
Destroy(gameObject);
}
Color newColor = gameObject.GetComponent<Text>().color;
float proportion = Time.time / duration;
newColor.a = Mathf.Lerp(, , proportion);
gameObject.GetComponent<Text>().color = newColor;
}
if (Show)
{
Color newColor = gameObject.GetComponent<Text>().color;
float proportion = Time.time / duration;
newColor.a = Mathf.Lerp(, , proportion);
gameObject.GetComponent<Text>().color = newColor;
}
#endregion
}
}
在Unity5中使用C#脚本实现UI的下滑、变色、渐隐渐现效果的更多相关文章
- Unity3D中UGUI不使用DOTween制作渐隐渐现效果
在做UI后期设计时,我们可能要对UI做一些特效,这篇文章我们来学习下如何在Unity3d中对实现渐隐渐现的效果, 首先我们看下Unity New UI即UGUI中渐隐渐现的做法. 观察我们会发现Uni ...
- 在 Snoop 中使用 PowerShell 脚本进行更高级的 UI 调试
原文:在 Snoop 中使用 PowerShell 脚本进行更高级的 UI 调试 版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可.欢迎转载.使用.重新发布, ...
- Unity5中叹为观止的实时GI效果
http://www.manew.com/thread-43970-1-1.html 今天为大家分享unity与Alex Lovett共同使用unity5制作的Shrine Arch-viz Demo ...
- 第二十三篇:在SOUI中使用LUA脚本开发界面
像写网页一样做客户端界面可能是很多客户端开发的理想. 做好一个可以实现和用户交互的动态网页应该包含两个部分:使用html做网页的布局,使用脚本如vbscript,javascript做用户交互的逻辑. ...
- Maya中输出nuke脚本的方法
因项目需要,三维部门跟踪组动画组都需要一个能够快速输出nuke预合成工程的脚本.脚本已经写完,源码不便于放出来,写一个大致思路吧. 我首先分析了nuke工程,内部包含了哪些节点,这些节点有哪些属性需要 ...
- Unity5中新的Shader体系简析
一.Unity5中新的Shader体系简析 Unity5和之前的书写模式有了一定的改变.Unity5时代的Shader Reference官方文档也进一步地变得丰满. 主要需要了解到的是,在原来的Un ...
- 【COCOS2DX-LUA 脚本开发之一】在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途!
[COCOS2DX-LUA 脚本开发之一]在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途! 分类: [Cocos2dx Lua 脚本开发 ] 2012-04-1 ...
- Firebug中调试中的js脚本中中文内容显示为乱码
Firebug中调试中的js脚本中中文内容显示为乱码 设置 页面 UFT-8 编码没用, 解决方法:点击 "Firebug"工具栏 中的"选项"---" ...
- 在html中添加script脚本的方法和注意事项
在html中添加script脚本有两种方法,直接将javascript代码添加到html中与添加外部js文件,这两种方法都比较常用,大家可以根据自己需要自由选择 在html中添加<script& ...
随机推荐
- mysql设置编码格式--支持中文
创建table的时候就使用utf8编码 在每次创建表的时候都在最后加上 character set = utf8就可以很好的支持中文 create table xxx ( id int auto_in ...
- hadoop之HDFS核心类Filesystem的使用
1.导入jar包,要使用hadoop的HDFS就要导入hadoop-2.7.7\share\hadoop\common下的3个jar包和lib下的依赖包.hadoop-2.7.7\share\hado ...
- centos7下NAT模式下设置静态ip
1.在虚拟网络编辑器下查看子网IP.子网掩码以及网关 2.在Linux系统中进入 /etc/sysconfig/network-scripts目录下,编辑ifcfg-ens33文件,改成下面的内容: ...
- go 并发编程
进程 线程 协程 设置golang运行cpu数 1.主线程和协程同时执行 package main import ( "fmt" "strconv" " ...
- Scheduled和HttpClient的连环坑
首页 > JAVA > @Scheduled和HttpClient的连环坑 @Scheduled和HttpClient的连环坑 2018-03-22 曾经踩过一个大坑: 由于业务特殊性,会 ...
- # ConfigureAwait常见问题解答
原文: https://devblogs.microsoft.com/dotnet/configureawait-faq/ .NET 在七多年前在语言和类库添加了 async/await .在那个时候 ...
- Fragment基础学习
https://blog.csdn.net/lmj623565791/article/details/37970961
- windows 2008r2+php5.6.28搭建详细过程
安装IIS7 1.打开服务器管理器(开始-计算机-右键-管理-也可以打开),添加角色 直接下一步 勾选Web服务器(IIS),下一步,有个注意事项继续下一步(这里我就不截图了) 勾选ASP.NET会弹 ...
- nginx tar包安装步骤
1.将tar包通过 Xftb工具传输到远程服务器 2.通过 cd 命令进入存放nginx包的文件夹目录 3.tar -zxvf + 文件名 解压 4.cd nginx-1.12.0 进入源码目录 5. ...
- Nginx配置HTTPS并将HTTP请求重定向到HTTPS
个人博客 地址:https://www.wenhaofan.com/a/20190702214652 在阿里云获取免费的HTTPS证书 配置HTTPS之前首先需要拥有HTTPS证书,在阿里云可以获得域 ...