在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& ...
随机推荐
- 题解【CF1311F Moving Points】
\[ \texttt{Preface} \] 赛时,把 " 任意时刻 " 理解成 " 整数时刻 " 了,看起来一脸不可做的亚子,还各种推式子. 话说我为什么觉得 ...
- egg 提交数据 防csrf 攻击 配置
await ctx.render('from',{csrf:this.ctx.csrf}); 或者 使用中间件 ctx.state.csrf = ctx.csrf;
- TP框架上传图片至阿里云oss
首先安装阿里云oss扩展: composer require aliyuncs/oss-sdk-php 如果这个安装不上可以直接下载SDK的包: 链接:https://pan.baidu.com/s/ ...
- SpringBoot从1.5.1→2.2.4项目加包扫雷二:打不到符号java: org.springframework.boot.autoconfigure.web.相关配置错误支持包
import org.springframework.boot.autoconfigure.web.DefaultErrorAttributes→org.springframework.boot.we ...
- day5 dict嵌套
#!/usr/bin/env python # -*- coding:utf-8 -*- dic = { 'name': ['alex', 'wusir', 'taibai'], 'py9': { ' ...
- 使用SFTP连接Centos
1.centos已经配置好了SFTP,直接使用root用户连接就可以,模式选SFTP即可. 2.虽然端口号没有填写,默认端口号是22 3.可能还是会遇到无法访问的问题,可以进行iptables防火墙的 ...
- 剑指offer-面试题14-剪绳子-动态规划法
/* 题目: 给定一个长度为n的绳子,把绳子剪为m段,(n>1,m>1) 求各段绳子乘积的最大值. */ /* 思路: 动态规划. f(n)=max(f(1)*f(n-1),f(2)*f( ...
- linux 第一个知识点(my)
关于Linux - rwx rwx rwx root user 194 Oct : 19 21:24 test -:此符号为文件名,如果是d 则为目录,如果是l 则为连接 rwx: 这是所有者所有的 ...
- Android_ExpandableListView
实现效果: 类似于QQ联系人列表 相关属性: android:childDivider:指定各组内子类表项之间的分隔条,图片不会完全显示, 分离子列表项的是一条直线 android:childIndi ...
- 【卸载Pycharm】
一.卸载软件及安装目录 1. 控制面板中卸载 二.删除注册表信息 1. 备份注册表信息 2. 删除注册表信息