unity中实现三个Logo图片进行3秒钟的若隐若现后互相切换Logo图片
private List<Sprite> storeTexture;
public void Start()
{
storeTexture = new List<Sprite>();
storeTexture.Clear();
//加载图片并储存在List中
Sprite texture1 = Resources.Load<Sprite>("Textures/one");
storeTexture.Add(texture1);
Sprite texture2 = Resources.Load<Sprite>("Textures/two");
storeTexture.Add(texture2);
Sprite texture3 = Resources.Load<Sprite>("Textures/3");
storeTexture.Add(texture3);
//遍历List中物体并打印出名字
foreach (var kk in storeTexture)
{
Debug.LogError(kk.name);
}
}
private float Timer = ;
private float value = ;
public void Update()
{
//Logo1从透明变为不透明状态
if (logoSwtich == LogoSwtich.Start)
{
Timer += Time.deltaTime / value;
logo.GetComponent<Image>().color = new Color(, , , Timer);
if (Timer >= )
{
logoSwtich = LogoSwtich.DeleteLogo1Alpha;
}
}
//Logo1从不透明变为透明状态
if (logoSwtich == LogoSwtich.DeleteLogo1Alpha)
{
Timer -= Time.deltaTime / value;
logo.GetComponent<Image>().color = new Color(, , , Timer);
if (Timer <= )
{
logoSwtich = LogoSwtich.ChangeLogo2;
}
}
//将Logo1更换为Logo2
if (logoSwtich == LogoSwtich.ChangeLogo2)
{
logo.GetComponent<Image>().sprite = storeTexture[];
logoSwtich = LogoSwtich.AddLogo2Alpha;
}
//Logo2从透明变为不透明状态
if (logoSwtich == LogoSwtich.AddLogo2Alpha)
{
Timer += Time.deltaTime / value;
logo.GetComponent<Image>().color = new Color(, , , Timer);
if (Timer >= )
{
logoSwtich = LogoSwtich.DeleteLogo2Alpha;
}
}
//Logo1从不透明变为透明状态
if (logoSwtich == LogoSwtich.DeleteLogo2Alpha)
{
Timer -= Time.deltaTime / value;
logo.GetComponent<Image>().color = new Color(, , , Timer);
if (Timer <= )
{
logoSwtich = LogoSwtich.ChangeLogo3;
}
}
//将Logo2更换为Logo3
if (logoSwtich == LogoSwtich.ChangeLogo3)
{
logo.GetComponent<Image>().sprite = storeTexture[];
logoSwtich = LogoSwtich.AddLogo3Alpha;
}
//Logo3从透明变为不透明状态
if (logoSwtich == LogoSwtich.AddLogo3Alpha)
{
Timer += Time.deltaTime / value;
logo.GetComponent<Image>().color = new Color(, , , Timer);
if (Timer >= )
{
logoSwtich = LogoSwtich.DeleteLogo3Alph;
}
}
//Logo3从不透明变为透明状态
if (logoSwtich == LogoSwtich.DeleteLogo3Alph)
{
Timer -= Time.deltaTime / value;
logo.GetComponent<Image>().color = new Color(, , , Timer);
if (Timer <= )
{
logoSwtich = LogoSwtich.ChangeLogo1;
}
}
//将Logo3更换为Logo1
if (logoSwtich == LogoSwtich.ChangeLogo1)
{
logo.GetComponent<Image>().sprite = storeTexture[];
logoSwtich = LogoSwtich.Start;
}
}
LogoSwtich logoSwtich = LogoSwtich.Start;
//Logo图片切换状态
public enum LogoSwtich
{
Start,
DeleteLogo1Alpha,
ChangeLogo2,
AddLogo2Alpha,
DeleteLogo2Alpha,
ChangeLogo3,
AddLogo3Alpha,
DeleteLogo3Alph,
ChangeLogo1,
End
}
unity中使用Image组件更换Logo图片属性如下:
1、sprite 用来渲染图像的精灵。
2、overrideSprite 设置用于呈现的覆盖精灵,设置为null将恢复默认的srpite。
unity中使用RawImage组件更换图片属性是 texture (RawImage的纹理)
unity中实现三个Logo图片进行3秒钟的若隐若现后互相切换Logo图片的更多相关文章
- unity中实现三个Logo图片进行若隐若现的切换并有延时切换图片的效果
public GameObject canvas; private Transform logoParent; private Transform Logo_logo; //logo一 private ...
- 关于Unity中的帧动画组件的编写
一.帧动画 1: 美术准备好一个连续动作的离散图片;2: 程序在准确的时间来切换这个图片;3: 优点: 简单,速度快; 缺点:资源占用相对过大; 二.frame_anim组件编写 1: 代码里面强制要 ...
- 【Unity3D基础教程】给初学者看的Unity教程(三):通过制作Flappy Bird了解Native 2D中的Sprite,Animation
作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 引子 上一次我们讲了MonoBehaviou ...
- 解读Unity中的CG编写Shader系列三
转自http://www.itnose.net/detail/6096068.html 在上一个例子中,我们得到了由mesh组件传递的信息经过数学转换至合适的颜色区间以颜色的形式着色到物体上.这篇文章 ...
- [翻译]Unity中的AssetBundle详解(三)
构建AssetBundles 在AssetBundle工作流程的文档中,我们有一个示例代码,它将三个参数传递给BuildPipeline.BuildAssetBundles函数.让我们更深入地了解我们 ...
- 【转】Unity中的协同程序-使用Promise进行封装(三)
原文:http://gad.qq.com/program/translateview/7170967 译者:崔国军(飞扬971) 审校:王磊(未来的未来) 在这个系列的最后一部分文章,我们要通过 ...
- 从Unity中的Attribute到AOP(三)
上一篇我们对系统的Attributes进行了MSIL代码的查看,了解到了其本质就是一个类的构造函数.本章我们将编写自己的Attributes. 首先我们定义书的属性代码,如下: [AttributeU ...
- 【原创翻译】初识Unity中的Compute Shader
一直以来都想试着自己翻译一些东西,现在发现翻译真的很不容易,如果你直接把作者的原文按照英文的思维翻译过来,你会发现中国人读起来很是别扭,但是如果你想完全利用中国人的语言方式来翻译,又怕自己理解的不到位 ...
- Unity 中场景切换
Unity游戏开发中,单个Scene解决所有问题似乎不可能,那么多个Scene之间的切换是必然存在.如果仅仅是切换,似乎什么都好说,但是在场景比较大的时候不想让玩家等待加载或者说场景与场景之间想通过一 ...
随机推荐
- 力扣 报错 runtime error: load of null pointer of type 'const int'
runtime error: load of null pointer of type 'const int' 要求返回的是int* 解决方案 1.指针使用malloc分配空间 用 int * p = ...
- List、Map、Set的区别与联系
重复和有序 List 存储的元素是有顺序的,并且值允许重复: Map 元素按键值对存储,无放入顺序 ,它的键是不允许重复的,但是值是允许重复的: Set 存储的元素是无顺序的,并且不允许重复,元素虽然 ...
- centos/redhat 删除虚拟网桥virbr0
kvm虚拟化环境安装好后,ifconfig会发现多了一个虚拟网卡virbr0. 这是由于安装和启用了libvirt服务后生成的,libvirt在服务器(host)上生成一个 virtual netw ...
- lua --- __newindex
-- __newindex 对表进行更新 MyMetatable = {} MyTable = }, {__newindex = MyMetatable}) MyTable.newKey1 = pri ...
- English trip V1 - 22. My Life Teacher:Emily Key: describe talk about past 过去式
In this lesson you will learn to talk about the past. 课上内容(Lesson) I was born in 1986. I started sch ...
- android-------Android Studio使用MAT分析工具遇到的错误
今天主要介绍一下我使用MAT工具分析文件时遇到的一个错误 Error opening heap dump 'a.hprof'. Check the error log for further deta ...
- Subordinates CodeForces - 737C (树,构造)
大意: 求构造一棵树, 每个节点回答它的祖先个数, 求最少打错次数. 挺简单的一个构造, 祖先个数等价于节点深度, 所以只需要确定一个最大深度然后贪心即可. 需要特判一下根的深度, 再特判一下只有一个 ...
- climbing stairs leetcode java
问题描述: You are climbing a stair case. It takes n steps to reach to the top. Each time you can either ...
- 20165309 实验三 敏捷开发与XP实践
2017-2018-2 20165309实验三<Java面向对象程序设计>实验报告 一.实验内容 1. XP基础 2. XP核心实践 3. 相关工具 二.实验步骤 (一)代码规范 1.在I ...
- 【oauth2.0】【2】JAVA 客户端模式
含义:用户直接向客户端注册,客户端以自己的名义要求"服务提供商"提供服务,其实不存在授权问题 步骤: (A)客户端向认证服务器进行身份认证,并要求一个访问令牌(token). (B ...