zoukankan      html  css  js  c++  java
  • 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 = 0;
        private float value = 3;
        public void Update()
        {
            //Logo1从透明变为不透明状态
            if (logoSwtich == LogoSwtich.Start)
            {
                Timer += Time.deltaTime / value;
                logo.GetComponent<Image>().color = new Color(1, 1, 1, Timer);
                if (Timer >= 1)
                {
                    logoSwtich = LogoSwtich.DeleteLogo1Alpha;
                }
            }
            //Logo1从不透明变为透明状态
            if (logoSwtich == LogoSwtich.DeleteLogo1Alpha)
            {
                Timer -= Time.deltaTime / value;
                logo.GetComponent<Image>().color = new Color(1, 1, 1, Timer);
                if (Timer <= 0)
                {
                    logoSwtich = LogoSwtich.ChangeLogo2;
                }
            }
            //将Logo1更换为Logo2
            if (logoSwtich == LogoSwtich.ChangeLogo2)
            {
                logo.GetComponent<Image>().sprite = storeTexture[1];
                logoSwtich = LogoSwtich.AddLogo2Alpha;
            }
            //Logo2从透明变为不透明状态
            if (logoSwtich == LogoSwtich.AddLogo2Alpha)
            {
                Timer += Time.deltaTime / value;
                logo.GetComponent<Image>().color = new Color(1, 1, 1, Timer);
                if (Timer >= 1)
                {
                    logoSwtich = LogoSwtich.DeleteLogo2Alpha;
                }
            }
            //Logo1从不透明变为透明状态
            if (logoSwtich == LogoSwtich.DeleteLogo2Alpha)
            {
                Timer -= Time.deltaTime / value;
                logo.GetComponent<Image>().color = new Color(1, 1, 1, Timer);
                if (Timer <= 0)
                {
                    logoSwtich = LogoSwtich.ChangeLogo3;
                }
            }
            //将Logo2更换为Logo3
            if (logoSwtich == LogoSwtich.ChangeLogo3)
            {
                logo.GetComponent<Image>().sprite = storeTexture[2];
                logoSwtich = LogoSwtich.AddLogo3Alpha;
            }
            //Logo3从透明变为不透明状态
            if (logoSwtich == LogoSwtich.AddLogo3Alpha)
            {
                Timer += Time.deltaTime / value;
                logo.GetComponent<Image>().color = new Color(1, 1, 1, Timer);
                if (Timer >= 1)
                {
                    logoSwtich = LogoSwtich.DeleteLogo3Alph;
                }
            }
            //Logo3从不透明变为透明状态
            if (logoSwtich == LogoSwtich.DeleteLogo3Alph)
            {
                Timer -= Time.deltaTime / value;
                logo.GetComponent<Image>().color = new Color(1, 1, 1, Timer);
                if (Timer <= 0)
                {
                    logoSwtich = LogoSwtich.ChangeLogo1;
                }
            }
            //将Logo3更换为Logo1
            if (logoSwtich == LogoSwtich.ChangeLogo1)
            {
                logo.GetComponent<Image>().sprite = storeTexture[0];
                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的纹理)

  • 相关阅读:
    bootstap 折叠
    AtCoder AGC019E Shuffle and Swap (DP、FFT、多项式求逆、多项式快速幂)
    Codeforces Gym 101630J Journey from Petersburg to Moscow (最短路)
    BZOJ 4042 Luogu P4757 [CERC2014]Parades (树形DP、状压DP)
    BZOJ 2734 [HNOI2012]集合选数 (状压DP、时间复杂度分析)
    BZOJ 2759 一个动态树好题 (LCT)
    Codeforces 1205C Palindromic Paths (交互题、DP)
    getopt实现传参自动识别
    powershell笔记
    bat语法需要注意的地方
  • 原文地址:https://www.cnblogs.com/Study088/p/7694647.html
Copyright © 2011-2022 走看看