一、首先,我们先创建一个Text
    依次选择Component→UI→Text创建一个Text,创建完成后如下:

二、创建完成后,在Project面板点击Create→C# Script,本例命名为InAndFade 
三、编写代码之前,为了确保能够调用到Text类,所以要先手动引入命名空间

using UnityEngine.UI;
 四、完整代码如下
 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的下滑、变色、渐隐渐现效果的更多相关文章

  1. Unity3D中UGUI不使用DOTween制作渐隐渐现效果

    在做UI后期设计时,我们可能要对UI做一些特效,这篇文章我们来学习下如何在Unity3d中对实现渐隐渐现的效果, 首先我们看下Unity New UI即UGUI中渐隐渐现的做法. 观察我们会发现Uni ...

  2. 在 Snoop 中使用 PowerShell 脚本进行更高级的 UI 调试

    原文:在 Snoop 中使用 PowerShell 脚本进行更高级的 UI 调试 版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可.欢迎转载.使用.重新发布, ...

  3. Unity5中叹为观止的实时GI效果

    http://www.manew.com/thread-43970-1-1.html 今天为大家分享unity与Alex Lovett共同使用unity5制作的Shrine Arch-viz Demo ...

  4. 第二十三篇:在SOUI中使用LUA脚本开发界面

    像写网页一样做客户端界面可能是很多客户端开发的理想. 做好一个可以实现和用户交互的动态网页应该包含两个部分:使用html做网页的布局,使用脚本如vbscript,javascript做用户交互的逻辑. ...

  5. Maya中输出nuke脚本的方法

    因项目需要,三维部门跟踪组动画组都需要一个能够快速输出nuke预合成工程的脚本.脚本已经写完,源码不便于放出来,写一个大致思路吧. 我首先分析了nuke工程,内部包含了哪些节点,这些节点有哪些属性需要 ...

  6. Unity5中新的Shader体系简析

    一.Unity5中新的Shader体系简析 Unity5和之前的书写模式有了一定的改变.Unity5时代的Shader Reference官方文档也进一步地变得丰满. 主要需要了解到的是,在原来的Un ...

  7. 【COCOS2DX-LUA 脚本开发之一】在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途!

    [COCOS2DX-LUA 脚本开发之一]在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途! 分类: [Cocos2dx Lua 脚本开发 ] 2012-04-1 ...

  8. Firebug中调试中的js脚本中中文内容显示为乱码

    Firebug中调试中的js脚本中中文内容显示为乱码 设置 页面 UFT-8 编码没用, 解决方法:点击 "Firebug"工具栏 中的"选项"---" ...

  9. 在html中添加script脚本的方法和注意事项

    在html中添加script脚本有两种方法,直接将javascript代码添加到html中与添加外部js文件,这两种方法都比较常用,大家可以根据自己需要自由选择 在html中添加<script& ...

随机推荐

  1. Git操作:查看所有分支的提交修改

    我们在廖雪峰Git教程或者一些书籍学习git分支时,大都会学习到这样一个命令git log --graph或者就是单纯的git log,他可以用来查看当前分支.但是这个弊端就是:它只能查看与当前分支有 ...

  2. 安装npm install时,长时间停留在fetchMetadata的解决方法

    安装npm install时,长时间停留在fetchMetadata: sill mapToRegistry uri http://registry.npmjs.org/whatwg-fetch处, ...

  3. BizCharts使用采坑教程

      了不起的BizCharts 最近项目的管理后台都在用阿里粑粑开源的管理框架Ant Design Pro,说真话,还是比较好用的.该框架内部也封装了一些图标插件,但是在最近的一个项目中发现,这些图标 ...

  4. 【算法】——递归:小白正在上楼梯,楼梯有n阶台阶,小白一次可以上1阶,2阶或者3阶,实现一个方法,计算小白有多少种走完楼梯的方式。

    分析:从最后一步分析,能有的情况有三种情况构成,写出如图所示的方程 //和斐波拉契相似 int void f(int n) { //考虑出口 ) ;//正常思路是返回0 ) ;//通过自己想可以得出只 ...

  5. c++标准库与对应的函数

    #include <algorithm> sort(obj.begin(),obj.end());//从小到大 reverse(obj.begin(),obj.end());//从大到小 ...

  6. Spring Boot源码(五):BeanFactoryPostProcessor和BeanPostProcessor

    BeanFactoryPostProcessor是spring BeanFactory加载Bean后调用, BeanPostProcessor是Bean初始化前后调用. BeanFactoryPost ...

  7. P1089题解 津津的储蓄计划

    来水一篇题解 #include <iostream> using namespace std; int main() { int month[12]; int mother=0,have= ...

  8. 题解【洛谷P2730】魔板 Magic Squares

    题面 首先我们可以发现,在每一次 BFS 时按照 \(A→B→C\) 的顺序枚举遍历肯定是字典序最小的. 然后就是普通的 BFS 了. 我们考虑使用 \(\text{STL map}\) 来存储起点状 ...

  9. sql查询如何将A表数据name字段对应B表name字段得到对应的B表id主键然后添加A到表usel_id中

    1.写这个的原因 最近在写公司项目的时候一个功能很是让我头疼如标题看到的一样,平时我们一般都只负责数据表的查询或者连表查询某一个字段和A表字段一起显示出来. 但是添加到A表还是头一次,第一天想了很久都 ...

  10. C#最基本的Socket编程

    示例程序是同步套接字程序,功能很简单,只是客户端发给服务器一条信息,服务器向客户端返回一条信息,是一个简单示例,也是一个最基本的socket编程流程. 简单步骤说明: 1.用指定的port, ip 建 ...